Re: [PATCH v4 6/6] ramoops: Add max_reason optional field to ramoops DT node
From: Kees Cook
Date: Mon May 18 2020 - 19:04:43 EST
On Mon, May 18, 2020 at 04:45:32PM -0600, Rob Herring wrote:
> On Fri, May 15, 2020 at 12:44 PM Kees Cook <keescook@xxxxxxxxxxxx> wrote:
> >
> > From: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx>
>
> Subject still has 'max_reason'.
>
> >
> > Currently, it is possible to dump kmsges for panic, or oops.
> > With max_reason it is possible to dump messages for other
>
> And here.
Ah yeah, this was, I think, describing the internal field name, but I
see it would be less confusing to refer to this by the DT name. I will
adjust it. Thanks!
-Kees
>
> > kmesg_dump events, for example reboot, halt, shutdown, kexec.
> >
> > Signed-off-by: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx>
> > Link: https://lore.kernel.org/lkml/20200506211523.15077-6-keescook@xxxxxxxxxxxx/
> > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
> > ---
> > .../devicetree/bindings/reserved-memory/ramoops.txt | 13 +++++++++++--
> > 1 file changed, 11 insertions(+), 2 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/reserved-memory/ramoops.txt b/Documentation/devicetree/bindings/reserved-memory/ramoops.txt
> > index 0eba562fe5c6..b7886fea368c 100644
> > --- a/Documentation/devicetree/bindings/reserved-memory/ramoops.txt
> > +++ b/Documentation/devicetree/bindings/reserved-memory/ramoops.txt
> > @@ -30,7 +30,7 @@ Optional properties:
> > - ecc-size: enables ECC support and specifies ECC buffer size in bytes
> > (defaults to 0: no ECC)
> >
> > -- record-size: maximum size in bytes of each dump done on oops/panic
> > +- record-size: maximum size in bytes of each kmsg dump.
> > (defaults to 0: disabled)
> >
> > - console-size: size in bytes of log buffer reserved for kernel messages
> > @@ -45,7 +45,16 @@ Optional properties:
> > - unbuffered: if present, use unbuffered mappings to map the reserved region
> > (defaults to buffered mappings)
> >
> > -- no-dump-oops: if present, only dump panics (defaults to panics and oops)
> > +- max-reason: if present, sets maximum type of kmsg dump reasons to store
> > + (defaults to 2: log Oopses and Panics). This can be set to INT_MAX to
> > + store all kmsg dumps. See include/linux/kmsg_dump.h KMSG_DUMP_* for other
> > + kmsg dump reason values. Setting this to 0 (KMSG_DUMP_UNDEF), means the
> > + reason filtering will be controlled by the printk.always_kmsg_dump boot
> > + param: if unset, it will be KMSG_DUMP_OOPS, otherwise KMSG_DUMP_MAX.
> > +
> > +- no-dump-oops: deprecated, use max_reason instead. If present, and
> > + max_reason is not specified, it is equivalent to max_reason = 1
>
> And here (3 times).
>
> > + (KMSG_DUMP_PANIC).
> >
> > - flags: if present, pass ramoops behavioral flags (defaults to 0,
> > see include/linux/pstore_ram.h RAMOOPS_FLAG_* for flag values).
> > --
> > 2.20.1
> >
--
Kees Cook