• M
    kmsg_dump: don't run on non-error paths by default · c22ab332
    Matthew Garrett 提交于
    Since commit 04c6862c ("kmsg_dump: add kmsg_dump() calls to the
    reboot, halt, poweroff and emergency_restart paths"), kmsg_dump() gets
    run on normal paths including poweroff and reboot.
    
    This is less than ideal given pstore implementations that can only
    represent single backtraces, since a reboot may overwrite a stored oops
    before it's been picked up by userspace.  In addition, some pstore
    backends may have low performance and provide a significant delay in
    reboot as a result.
    
    This patch adds a printk.always_kmsg_dump kernel parameter (which can also
    be changed from userspace).  Without it, the code will only be run on
    failure paths rather than on normal paths.  The option can be enabled in
    environments where there's a desire to attempt to audit whether or not a
    reboot was cleanly requested or not.
    Signed-off-by: NMatthew Garrett <mjg@redhat.com>
    Acked-by: NSeiji Aguchi <seiji.aguchi@hds.com>
    Cc: Seiji Aguchi <seiji.aguchi@hds.com>
    Cc: David Woodhouse <dwmw2@infradead.org>
    Cc: Marco Stornelli <marco.stornelli@gmail.com>
    Cc: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
    Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Cc: Vivek Goyal <vgoyal@redhat.com>
    Cc: Don Zickus <dzickus@redhat.com>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    c22ab332
kmsg_dump.h 1.7 KB