printk: honor the max_reason field in kmsg_dumper
authorPavel Tatashin <pasha.tatashin@soleen.com>
Tue, 5 May 2020 15:45:06 +0000 (11:45 -0400)
committerKees Cook <keescook@chromium.org>
Sat, 30 May 2020 17:34:03 +0000 (10:34 -0700)
commitb1f6f161b236d0e5a9222fb8b482e65aaff13689
treee5cf158f2ddb84fa36502e54b1b87092a53291b9
parent6d3cf962dd1a95df868c547b090bfc4c7977f4be
printk: honor the max_reason field in kmsg_dumper

kmsg_dump() allows to dump kmesg buffer for various system events: oops,
panic, reboot, etc. It provides an interface to register a callback
call for clients, and in that callback interface there is a field
"max_reason", but it was getting ignored when set to any "reason"
higher than KMSG_DUMP_OOPS unless "always_kmsg_dump" was passed as
kernel parameter.

Allow clients to actually control their "max_reason", and keep the
current behavior when "max_reason" is not set.

Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com>
Link: https://lore.kernel.org/lkml/20200515184434.8470-3-keescook@chromium.org/
Reviewed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
include/linux/kmsg_dump.h
kernel/printk/printk.c