[PATCH] efi_loader: silence 'Failed to load EFI variables' if the file is missing

Ilias Apalodimas ilias.apalodimas at linaro.org
Thu Jan 19 12:45:29 CET 2023


Hi Etienne,

On Thu, 19 Jan 2023 at 13:17, Etienne Carriere
<etienne.carriere at linaro.org> wrote:
>
> On Wed, 18 Jan 2023 at 17:12, Ilias Apalodimas
> <ilias.apalodimas at linaro.org> wrote:
> >
> > When we try to load EFI variables from a file in the ESP partition and the
> > file is missing We print a scary error looking like
> > => printenv -e
> > ** Unable to read file ubootefi.var **
> > Failed to load EFI variables
> >
> > This is not an error though since the file wasn't there to begin with.
> > So silence the warning by aborting the load if the file is not there,
> > instead of failing the load.
> >
> > Signed-off-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> > ---
> >  lib/efi_loader/efi_var_file.c | 6 ++++++
> >  1 file changed, 6 insertions(+)
> >
> > diff --git a/lib/efi_loader/efi_var_file.c b/lib/efi_loader/efi_var_file.c
> > index 62e071bd8341..7d7141473634 100644
> > --- a/lib/efi_loader/efi_var_file.c
> > +++ b/lib/efi_loader/efi_var_file.c
> > @@ -223,6 +223,12 @@ efi_status_t efi_var_from_file(void)
> >                 return EFI_OUT_OF_RESOURCES;
> >         }
> >
> > +       ret = efi_set_blk_dev_to_system_partition();
> > +       if (ret != EFI_SUCCESS)
> > +               goto error;
> > +       if (!fs_exists(EFI_VAR_FILE_NAME))
> > +               goto error;
> > +
> >         ret = efi_set_blk_dev_to_system_partition();
> >         if (ret != EFI_SUCCESS)
> >                 goto error;
>
> This later call to efi_set_blk_dev_to_system_partition() can be
> removed since already done above.
>

iirc fs_exists() unconditionally calls fs_close() so we need that double call

Cheers
/Ilias
> Etienne
>
> > --
> > 2.38.1
> >


More information about the U-Boot mailing list