From: Kees Cook <keescook@chromium.org>
To: Pavel Tatashin <pasha.tatashin@soleen.com>
Cc: Petr Mladek <pmladek@suse.com>, Tony Luck <tony.luck@intel.com>,
Kees Cook <keescook@chromium.org>,
Jonathan Corbet <corbet@lwn.net>,
Anton Vorontsov <anton@enomsg.org>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
Steven Rostedt <rostedt@goodmis.org>,
Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
devicetree@vger.kernel.org, Rob Herring <robh+dt@kernel.org>,
Paul Mackerras <paulus@samba.org>,
Colin Cross <ccross@android.com>,
Enric Balletbo i Serra <enric.balletbo@collabora.com>,
linuxppc-dev@lists.ozlabs.org, Benson Leung <bleung@chromium.org>
Subject: [PATCH v4 4/6] pstore/platform: Pass max_reason to kmesg dump
Date: Fri, 15 May 2020 11:44:32 -0700 [thread overview]
Message-ID: <20200515184434.8470-5-keescook@chromium.org> (raw)
In-Reply-To: <20200515184434.8470-1-keescook@chromium.org>
From: Pavel Tatashin <pasha.tatashin@soleen.com>
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/20200506211523.15077-3-keescook@chromium.org/
Co-developed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
---
fs/pstore/platform.c | 4 +++-
include/linux/pstore.h | 7 +++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c
index 5e6c6022deb9..a9e297eefdff 100644
--- a/fs/pstore/platform.c
+++ b/fs/pstore/platform.c
@@ -595,8 +595,10 @@ int pstore_register(struct pstore_info *psi)
pstore_get_records(0);
- if (psi->flags & PSTORE_FLAGS_DMESG)
+ if (psi->flags & PSTORE_FLAGS_DMESG) {
+ pstore_dumper.max_reason = psinfo->max_reason;
pstore_register_kmsg();
+ }
if (psi->flags & PSTORE_FLAGS_CONSOLE)
pstore_register_console();
if (psi->flags & PSTORE_FLAGS_FTRACE)
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);
--
2.20.1
next prev parent reply other threads:[~2020-05-15 18:50 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-15 18:44 [PATCH v4 0/6] allow ramoops to collect all kmesg_dump events Kees Cook
2020-05-15 18:44 ` [PATCH v4 1/6] printk: Collapse shutdown types into a single dump reason Kees Cook
2020-05-15 19:17 ` Pavel Tatashin
2020-05-22 16:21 ` Petr Mladek
2020-05-23 11:16 ` Michael Ellerman
2020-05-15 18:44 ` [PATCH v4 2/6] printk: honor the max_reason field in kmsg_dumper Kees Cook
2020-05-22 16:51 ` Petr Mladek
2020-05-22 17:34 ` Kees Cook
2020-05-15 18:44 ` [PATCH v4 3/6] printk: Introduce kmsg_dump_reason_str() Kees Cook
2020-05-15 19:23 ` Pavel Tatashin
2020-05-15 18:44 ` Kees Cook [this message]
2020-05-15 18:44 ` [PATCH v4 5/6] pstore/ram: Introduce max_reason and convert dump_oops Kees Cook
2020-05-15 19:30 ` Pavel Tatashin
2020-05-15 19:48 ` Kees Cook
2020-05-15 19:40 ` Pavel Tatashin
2020-05-15 19:53 ` Kees Cook
2020-05-15 18:44 ` [PATCH v4 6/6] ramoops: Add max_reason optional field to ramoops DT node Kees Cook
2020-05-18 22:45 ` Rob Herring
2020-05-18 23:04 ` Kees Cook
2020-05-15 19:13 ` [PATCH v4 0/6] allow ramoops to collect all kmesg_dump events Pavel Tatashin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200515184434.8470-5-keescook@chromium.org \
--to=keescook@chromium.org \
--cc=anton@enomsg.org \
--cc=bleung@chromium.org \
--cc=ccross@android.com \
--cc=corbet@lwn.net \
--cc=devicetree@vger.kernel.org \
--cc=enric.balletbo@collabora.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=pasha.tatashin@soleen.com \
--cc=paulus@samba.org \
--cc=pmladek@suse.com \
--cc=robh+dt@kernel.org \
--cc=rostedt@goodmis.org \
--cc=sergey.senozhatsky@gmail.com \
--cc=tony.luck@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).