Messages in this thread | | | Date | Tue, 8 Mar 2022 11:53:35 +0100 | Subject | Re: ftrace bug | From | Arend van Spriel <> |
| |
On 3/7/2022 2:24 PM, Steven Rostedt wrote: > On Mon, 7 Mar 2022 12:26:45 +0100 > Arend van Spriel <arend.vanspriel@broadcom.com> wrote: > >> Hi Steven, >> >> I wanted to use FTRACE on an ARM platform and I hit the following >> warning which results in ftrace bug. This happens upon loading a module. >> Looking up the warning I suspect the branch target is too far off. The >> module is quite large and therefor not loaded in the modules section. Is >> there a way to exclude a module. In ftrace_module_init I see a check for >> !mod->num_ftrace_callsites. Is there a way to avoid creating ftrace >> callsites in a module? > > Are you sure it's the size. Just want to make sure that's the reason before > going with different solutions.
Interpreting the warning statement in insn.c and given the fact that the module is loaded at 0xe3xxxxxx instead of kernel module space at 0xbfxxxxxx I made this assumption, but ....
>> >> Regards, >> Arend >> >> ------------[ cut here ]------------ >> >> WARNING: CPU: 2 PID: 1525 at arch/arm/kernel/insn.c:47 >> __arm_gen_branch+0x70/0x78 >> >> CPU: 2 PID: 1525 Comm: insmod Tainted: P 4.19.183 #2 >> >> Hardware name: Generic DT based system >> >> [<c02139e4>] (unwind_backtrace) from [<c020d4f8>] (show_stack+0x20/0x24) >> >> [<c020d4f8>] (show_stack) from [<c0922aec>] (dump_stack+0x98/0xac) >> >> [<c0922aec>] (dump_stack) from [<c0919b98>] (__warn.part.0+0xcc/0xe8) >> >> [<c0919b98>] (__warn.part.0) from [<c0919d4c>] >> (warn_slowpath_null+0x54/0x74) >> [<c0919d4c>] (warn_slowpath_null) from [<c021225c>] >> (__arm_gen_branch+0x70/0x78) >> [<c021225c>] (__arm_gen_branch) from [<c02120e4>] >> (ftrace_make_nop+0x64/0xec) >> [<c02120e4>] (ftrace_make_nop) from [<c02ac2b0>] >> (ftrace_process_locs+0x370/0x4b4) >> >> [<c02ac2b0>] (ftrace_process_locs) from [<c02af538>] >> (ftrace_module_init+0x38/0x3c) >> >> [<c02af538>] (ftrace_module_init) from [<c02a47d8>] >> (load_module+0x18d0/0x2570) >> [<c02a47d8>] (load_module) from [<c02a56f8>] >> (sys_finit_module+0xe0/0xf8) >> [<c02a56f8>] (sys_finit_module) from [<c0201000>] >> (ret_fast_syscall+0x0/0x58) >> Exception stack(0xd9b1bfa8 to 0xd9b1bff0) >> >> bfa0: 01170228 00000000 00000003 01170228 00000000 >> beb7ceb3 >> bfc0: 01170228 00000000 beb7cdc4 0000017b 00127010 00000000 00000000 >> 00000000 >> bfe0: beb7cc38 beb7cc28 0001a0dc 00012890 >> >> ---[ end trace f48808a851a4544a ]--- >> >> ------------[ cut here ]------------ >> >> WARNING: CPU: 2 PID: 1525 at kernel/trace/ftrace.c:2034 >> ftrace_bug+0xfc/0x394 > > Three should be more content after the "cut here" that is very relevant (I > hate that cut here, because I constantly need to tell people to show me > more :-p I need to add a "ftrace bug cut here" line.) > > > Could you show me the output right after that.
... here is the output I think you were looking for:
ftrace failed to modify
[<a82ca82d>] (suspected corrupt symbol)
actual: 63:17:16:eb
Initializing ftrace call sites
ftrace record flags: 2000000
(0)
expected tramp: c0211b88
ftrace failed to modify
[<6c88ec64>] (suspected corrupt symbol)
actual: 72:ab:08:eb
Initializing ftrace call sites
ftrace record flags: 2000000
(0)
expected tramp: c0211b88
ftrace failed to modify
[<b1ed303a>] (suspected corrupt symbol)
actual: 04:12:04:eb
Initializing ftrace call sites
ftrace record flags: 2000000
(0)
expected tramp: c0211b88
ftrace failed to modify
[<eb2fee66>] (suspected corrupt symbol)
actual: d6:7e:00:eb
Initializing ftrace call sites
ftrace record flags: 2000000
(0)
expected tramp: c0211b88
Regards, Arend [unhandled content-type:application/pkcs7-signature] | |