Re: [PATCH] pstore/ram: Improve backward compatibility with older Chromebooks

From: Rob Herring
Date: Mon May 06 2019 - 17:34:59 EST


On Mon, May 6, 2019 at 4:10 PM Kees Cook <keescook@xxxxxxxxxxxx> wrote:
>
> From: Douglas Anderson <dianders@xxxxxxxxxxxx>
> Date: Fri, May 3, 2019 at 10:48 AM
> To: Kees Cook, Anton Vorontsov
> Cc: <linux-rockchip@xxxxxxxxxxxxxxxxxxx>, <jwerner@xxxxxxxxxxxx>,
> <groeck@xxxxxxxxxxxx>, <mka@xxxxxxxxxxxx>, <briannorris@xxxxxxxxxxxx>,
> Douglas Anderson, Colin Cross, Tony Luck,
> <linux-kernel@xxxxxxxxxxxxxxx>
>
> > When you try to run an upstream kernel on an old ARM-based Chromebook
> > you'll find that console-ramoops doesn't work.
> >
> > Old ARM-based Chromebooks, before <https://crrev.com/c/439792>
> > ("ramoops: support upstream {console,pmsg,ftrace}-size properties")
> > used to create a "ramoops" node at the top level that looked like:
> >
> > / {
> > ramoops {
> > compatible = "ramoops";
> > reg = <...>;
> > record-size = <...>;
> > dump-oops;
> > };
> > };
> >
> > ...and these Chromebooks assumed that the downstream kernel would make
> > console_size / pmsg_size match the record size. The above ramoops
> > node was added by the firmware so it's not easy to make any changes.
> >
> > Let's match the expected behavior, but only for those using the old
> > backward-compatible way of working where ramoops is right under the
> > root node.
> >
> > NOTE: if there are some out-of-tree devices that had ramoops at the
> > top level, left everything but the record size as 0, and somehow
> > doesn't want this behavior, we can try to add more conditions here.
> >
> > Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
>
> I like this; thanks! Rob is this okay by you? I just want to
> double-check since it's part of the DT parsing logic.

I'll leave it to you. It does fall into the case of supporting
downstream bindings that weren't reviewed (IIRC reviewed maybe, but
not accepted) which isn't great precedent. OTOH, it's a small change
for a largish number of devices.

Rob