On 05/28/20 11:17, Ard Biesheuvel wrote: > UEFI boot options may exist but have the LOAD_OPTION_ACTIVE flag > cleared. This means that the boot option should not be selected > by default, but it does not mean it should be omitted from the > boot selection presented by the boot manager: for this purpose, > another flag LOAD_OPTION_HIDDEN exists. > > Given that the latter flag exists solely for the purpose of omitting > boot options from the boot selection menu, and LOAD_OPTION_XXX flags > can be combined if desired, hiding inactive boot options as well is > a mistake, and violates the intent of paragraph 3.1.3 of the UEFI > specification (revision 2.8 errata A). Let's fix this by dropping > the LOAD_OPTION_ACTIVE check from the code that populates the boot > selection menu. > > Signed-off-by: Ard Biesheuvel <[email protected]> > --- > MdeModulePkg/Library/BootManagerUiLib/BootManager.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/MdeModulePkg/Library/BootManagerUiLib/BootManager.c > b/MdeModulePkg/Library/BootManagerUiLib/BootManager.c > index 13b40e11b396..4b2c4c77a124 100644 > --- a/MdeModulePkg/Library/BootManagerUiLib/BootManager.c > +++ b/MdeModulePkg/Library/BootManagerUiLib/BootManager.c > @@ -535,9 +535,9 @@ UpdateBootManager ( > mKeyInput++; > > // > - // Don't display the hidden/inactive boot option > + // Don't display hidden boot options, but retain inactive ones. > // > - if (((BootOption[Index].Attributes & LOAD_OPTION_HIDDEN) != 0) || > ((BootOption[Index].Attributes & LOAD_OPTION_ACTIVE) == 0)) { > + if ((BootOption[Index].Attributes & LOAD_OPTION_HIDDEN) != 0) { > continue; > } > >
Reviewed-by: Laszlo Ersek <[email protected]> -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#60410): https://edk2.groups.io/g/devel/message/60410 Mute This Topic: https://groups.io/mt/74518313/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
