On Tue, May 16, 2023 at 10:17:14AM -0400, Raymond Mao wrote: > Hi Ilias, > > On Tue, 16 May 2023 at 01:59, Ilias Apalodimas <ilias.apalodi...@linaro.org> > wrote: > > > On Tue, May 02, 2023 at 12:12:19PM -0700, Raymond Mao wrote: > > > Changes for complying to EFI spec ยง3.5.1.1 > > > 'Removable Media Boot Behavior'. > > > Boot variables can be automatically generated during a removable > > > media is probed. At the same time, unused boot variables will be > > > detected and removed. > > > > > > Signed-off-by: Raymond Mao <raymond....@linaro.org> > > > --- > > > Changes in v2 > > > - Ignore EFI_NOT_FOUND returned from > > > efi_bootmgr_update_media_device_boot_option which means no boot > > > options scanned. > > > Changes in v3 > > > - Split the patch into moving and renaming functions and > > > individual patches for each changed functionality > > > > > > lib/efi_loader/efi_disk.c | 7 +++++++ > > > lib/efi_loader/efi_variable.c | 10 +++++++++- > > > lib/efi_loader/efi_variable_tee.c | 5 +++++ > > > 3 files changed, 21 insertions(+), 1 deletion(-) > > > > > > diff --git a/lib/efi_loader/efi_disk.c b/lib/efi_loader/efi_disk.c > > > index d2256713a8..ca5f07f2ec 100644 > > > --- a/lib/efi_loader/efi_disk.c > > > +++ b/lib/efi_loader/efi_disk.c > > > @@ -687,6 +687,13 @@ int efi_disk_probe(void *ctx, struct event *event) > > > return -1; > > > } > > > > > > + /* only do the boot option management when UEFI sub-system is > > initialized */ > > > + if (efi_obj_list_initialized == EFI_SUCCESS) { > > > + ret = efi_bootmgr_update_media_device_boot_option(); > > > + if (ret != EFI_SUCCESS && ret != EFI_NOT_FOUND) > > > + return -1; > > > + } > > > + > > > return 0; > > > } > > > > > > diff --git a/lib/efi_loader/efi_variable.c > > b/lib/efi_loader/efi_variable.c > > > index be95ed44e6..fe71144358 100644 > > > --- a/lib/efi_loader/efi_variable.c > > > +++ b/lib/efi_loader/efi_variable.c > > > @@ -476,6 +476,14 @@ efi_status_t efi_init_variables(void) > > > log_err("Invalid EFI variable seed\n"); > > > } > > > > > > + ret = efi_init_secure_state(); > > > + if (ret != EFI_SUCCESS) > > > + return ret; > > > > > > - return efi_init_secure_state(); > > > + /* update boot option management after variable service > > initialized */ > > > + ret = efi_bootmgr_update_media_device_boot_option(); > > > + if (ret != EFI_SUCCESS && ret != EFI_NOT_FOUND) > > > + return ret; > > > + > > > + return EFI_SUCCESS; > > > } > > > diff --git a/lib/efi_loader/efi_variable_tee.c > > b/lib/efi_loader/efi_variable_tee.c > > > index dfef18435d..2995d4a583 100644 > > > --- a/lib/efi_loader/efi_variable_tee.c > > > +++ b/lib/efi_loader/efi_variable_tee.c > > > @@ -748,5 +748,10 @@ efi_status_t efi_init_variables(void) > > > if (ret != EFI_SUCCESS) > > > return ret; > > > > > > + /* update boot option management after variable service > > initialized */ > > > + ret = efi_bootmgr_update_media_device_boot_option(); > > > + if (ret != EFI_SUCCESS && ret != EFI_NOT_FOUND) > > > + return ret; > > > > You don't need this if, just return ret > > > We have to differentiate EFI_NOT_FOUND here for no removable medias are > detected, otherwise efi_init_obj_list() will return failure if the return > code of efi_init_variables() is not EFI_SUCCESS. >
Ah fair enough. This seems fine then, please resend the series with the changes in patch #3 Thanks /Ilias > > > > > + > > > return EFI_SUCCESS; > > > } > > > -- > > > 2.25.1 > > > > > > > Regards > > /Ilias > >