aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/pstore.h
diff options
context:
space:
mode:
authorPavel Tatashin <pasha.tatashin@soleen.com>2020-05-05 11:45:07 -0400
committerKees Cook <keescook@chromium.org>2020-05-30 10:34:03 -0700
commit3524e688b8ee50b0edc76f0e020727eb6c684dbc (patch)
tree6ec9d2329912f3a6d0b4f86c2c99e83a64a679b4 /include/linux/pstore.h
parentprintk: Introduce kmsg_dump_reason_str() (diff)
downloadwireguard-linux-3524e688b8ee50b0edc76f0e020727eb6c684dbc.tar.xz
wireguard-linux-3524e688b8ee50b0edc76f0e020727eb6c684dbc.zip
pstore/platform: Pass max_reason to kmesg dump
Add a new member to struct pstore_info for passing information about kmesg dump maximum reason. This allows a finer control of what kmesg dumps are sent to pstore storage backends. Those backends that do not explicitly set this field (keeping it equal to 0), get the default behavior: store only Oopses and Panics, or everything if the printk.always_kmsg_dump boot param is set. Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com> Link: https://lore.kernel.org/lkml/20200515184434.8470-5-keescook@chromium.org/ Co-developed-by: Kees Cook <keescook@chromium.org> Signed-off-by: Kees Cook <keescook@chromium.org>
Diffstat (limited to 'include/linux/pstore.h')
-rw-r--r--include/linux/pstore.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/pstore.h b/include/linux/pstore.h
index f6f22b13e04f..eb93a54cff31 100644
--- a/include/linux/pstore.h
+++ b/include/linux/pstore.h
@@ -96,6 +96,12 @@ struct pstore_record {
*
* @read_mutex: serializes @open, @read, @close, and @erase callbacks
* @flags: bitfield of frontends the backend can accept writes for
+ * @max_reason: Used when PSTORE_FLAGS_DMESG is set. Contains the
+ * kmsg_dump_reason enum value. KMSG_DUMP_UNDEF means
+ * "use existing kmsg_dump() filtering, based on the
+ * printk.always_kmsg_dump boot param" (which is either
+ * KMSG_DUMP_OOPS when false, or KMSG_DUMP_MAX when
+ * true); see printk.always_kmsg_dump for more details.
* @data: backend-private pointer passed back during callbacks
*
* Callbacks:
@@ -179,6 +185,7 @@ struct pstore_info {
struct mutex read_mutex;
int flags;
+ int max_reason;
void *data;
int (*open)(struct pstore_info *psi);