• Guilherme G. Piccoli's avatar
    panic: add option to dump all CPUs backtraces in panic_print · 8d470a45
    Guilherme G. Piccoli authored
    Currently the "panic_print" parameter/sysctl allows some interesting debug
    information to be printed during a panic event.  This is useful for
    example in cases the user cannot kdump due to resource limits, or if the
    user collects panic logs in a serial output (or pstore) and prefers a fast
    reboot instead of a kdump.
    
    Happens that currently there's no way to see all CPUs backtraces in a
    panic using "panic_print" on architectures that support that.  We do have
    "oops_all_cpu_backtrace" sysctl, but although partially overlapping in the
    functionality, they are orthogonal in nature: "panic_print" is a panic
    tuning (and we have panics without oopses, like direct calls to panic() or
    maybe other paths that don't go through oops_enter() function), and the
    original purpose of "oops_all_cpu_backtrace" is to provide more
    information on oopses for cases in which the users desire to continue
    running the kernel even after an oops, i.e., used in non-panic scenarios.
    
    So, we hereby introduce an additional bit for "panic_print" to allow
    dumping the CPUs backtraces during a panic event.
    
    Link: https://lkml.kernel.org/r/20211109202848.610874-3-gpiccoli@igalia.comSigned-off-by: default avatarGuilherme G. Piccoli <gpiccoli@igalia.com>
    Reviewed-by: default avatarFeng Tang <feng.tang@intel.com>
    Cc: Iurii Zaikin <yzaikin@google.com>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Luis Chamberlain <mcgrof@kernel.org>
    Cc: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    8d470a45
panic.c 18.2 KB