On Wed, Jan 10, 2024 at 10:56 PM Kees Cook <[email protected]> wrote:

> Every other architecture in Linux includes the line "Call trace:" before
> backtraces. In some cases ARM would print "Backtrace:", but this was
> only via 1 specific call path, and wasn't included in CPU Oops nor things
> like KASAN, UBSAN, etc that called dump_stack(). Regularize this line
> so CI systems and other things (like LKDTM) that depend on parsing
> "Call trace:" out of dmesg will see it for ARM.
>
> Before this patch:
>
>         UBSAN: array-index-out-of-bounds in 
> ../drivers/misc/lkdtm/bugs.c:376:16
>         index 8 is out of range for type 'char [8]'
>         CPU: 0 PID: 1402 Comm: cat Not tainted 6.7.0-rc2 #1
>         Hardware name: Generic DT based system
>          dump_backtrace from show_stack+0x20/0x24
>          r7:00000042 r6:00000000 r5:60070013 r4:80cf5d7c
>          show_stack from dump_stack_lvl+0x88/0x98
>          dump_stack_lvl from dump_stack+0x18/0x1c
>          r7:00000042 r6:00000008 r5:00000008 r4:80fab118
>          dump_stack from ubsan_epilogue+0x10/0x3c
>          ubsan_epilogue from __ubsan_handle_out_of_bounds+0x80/0x84
>         ...
>
> After this patch:
>
>         UBSAN: array-index-out-of-bounds in 
> ../drivers/misc/lkdtm/bugs.c:376:16
>         index 8 is out of range for type 'char [8]'
>         CPU: 0 PID: 1402 Comm: cat Not tainted 6.7.0-rc2 #1
>         Hardware name: Generic DT based system
>         Call trace:
>          dump_backtrace from show_stack+0x20/0x24
>          r7:00000042 r6:00000000 r5:60070013 r4:80cf5d7c
>          show_stack from dump_stack_lvl+0x88/0x98
>          dump_stack_lvl from dump_stack+0x18/0x1c
>          r7:00000042 r6:00000008 r5:00000008 r4:80fab118
>          dump_stack from ubsan_epilogue+0x10/0x3c
>          ubsan_epilogue from __ubsan_handle_out_of_bounds+0x80/0x84
>         ...
>
> Reported-by: Mark Brown <[email protected]>
> Cc: Russell King <[email protected]>
> Cc: Ard Biesheuvel <[email protected]>
> Cc: Arnd Bergmann <[email protected]>
> Cc: Linus Walleij <[email protected]>
> Cc: Vladimir Murzin <[email protected]>
> Cc: Zhen Lei <[email protected]>
> Cc: Keith Packard <[email protected]>
> Cc: Haibo Li <[email protected]>
> Cc: [email protected]
> Signed-off-by: Kees Cook <[email protected]>

Makes sense.
Reviewed-by: Linus Walleij <[email protected]>

Yours,
Linus Walleij

Reply via email to