Re: [PATCH v2] efi/efivars: Create efivars mount point via efivars abstraction

From: joeyli
Date: Thu Aug 27 2020 - 12:15:08 EST


On Wed, Aug 26, 2020 at 11:56:33PM +0800, Joey Lee wrote:
> Hi Ard,
>
> On Wed, Aug 26, 2020 at 02:08:18PM +0200, Ard Biesheuvel wrote:
> > On Wed, 26 Aug 2020 at 02:46, Lee, Chun-Yi <joeyli.kernel@xxxxxxxxx> wrote:
> > >
> > > This patch creates efivars mount point when active efivars abstraction
> > > be set. It is useful for userland to determine the availability of efivars
> > > filesystem.
> > >
> > > Cc: Matthias Brugger <mbrugger@xxxxxxxx>
> > > Cc: Fabian Vogt <fvogt@xxxxxxxx>
> > > Cc: Ilias Apalodimas <ilias.apalodimas@xxxxxxxxxx>
> > > Cc: Ard Biesheuvel <ardb@xxxxxxxxxx>
> > > Signed-off-by: "Lee, Chun-Yi" <jlee@xxxxxxxx>
> >
> > Apologies for not bringing this up before: while the patch seems fine,
> > I wonder if we really need this if the purpose is to decide whether
> > efivars is available or not. We already have the 'efivars' platform
> > device for this, and so userland can simply check for the existence of
> >
> > /sys/devices/platform/efivars.0
> >
> > and so we don't need to make any changes for this.
> >
>
> The platform device only be registered on generic EFI runtime services
> platform. If the efivars abstraction is google gsmi, then userland can
> not use efivars.0 to detectmine the availability of efivars filesystem.
>
> If we only consider generic EFI platform, then efivars.0 is good enough.
> But if the gsmi implementation joins this game, then my patch should not
> blocks the creation of efivars mount point because gsmi_kobj is not
> initialized yet.
>
> Maybe the creation of efivars mount point can be moved to
> efivars_register(), after the kobject be set. Then gsmi can also create
> mount point. How do you think?
>

Here is the patch for my concept. I simply tested on qemu-OVMF and
qemu-uboot.