Re: ftrace bug
From: Steven Rostedt
Date: Mon Mar 07 2022 - 08:25:02 EST
On Mon, 7 Mar 2022 12:26:45 +0100
Arend van Spriel <arend.vanspriel@xxxxxxxxxxxx> 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.
>
> 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.
-- Steve