Re: [PATCH v2] efivarfs: Replace invalid slashes with exclamation marks in dentries.

From: Michael Schaller
Date: Fri Sep 25 2020 - 03:59:33 EST


On Fri, Sep 25, 2020 at 9:55 AM Ard Biesheuvel <ardb@xxxxxxxxxx> wrote:
>
> On Fri, 25 Sep 2020 at 09:54, Michael Schaller <misch@xxxxxxxxxx> wrote:
> >
> > On Fri, Sep 25, 2020 at 9:49 AM Ard Biesheuvel <ardb@xxxxxxxxxx> wrote:
> > >
> > > On Fri, 25 Sep 2020 at 09:45, Michael Schaller <misch@xxxxxxxxxx> wrote:
> > > >
> > > > Without this patch efivarfs_alloc_dentry creates dentries with slashes in
> > > > their name if the respective EFI variable has slashes in its name. This in
> > > > turn causes EIO on getdents64, which prevents a complete directory listing
> > > > of /sys/firmware/efi/efivars/.
> > > >
> > > > This patch replaces the invalid shlashes with exclamation marks like
> > > > kobject_set_name_vargs does for /sys/firmware/efi/vars/ to have consistently
> > > > named dentries under /sys/firmware/efi/vars/ and /sys/firmware/efi/efivars/.
> > > >
> > > > Signed-off-by: Michael Schaller <misch@xxxxxxxxxx>
> > >
> > > Thanks
> > >
> > > > Tested-by: Michael Schaller <misch@xxxxxxxxxx>
> > >
> > > I will drop this - in general, it is assumed that you test your own
> > > patches before sending them to the list, so this is implicit. Also,
> > > tested-by's given on the list tend to carry more weight than ones that
> > > are givenin private and added to the patch by the authors themselves.
> > >
> > Makes sense. Is anything else needed from my side?
>
> No, all good. I'll pick this up as a fix.

Awesome. Would it make sense to consider this for stable kernels as well?
We've found this in the wild on Lenovo ThinkStation P520 machines as
they write EFI variables like this one:
05/15/2019-13:37:56-SysEvtLog:36-193545dc-3550-4d14-bdba-b7d426c6b019