* [PATCH] MdeModulePkg/UefiBootManagerLib: Remove assertion
@ 2017-11-20 5:14 Ruiyu Ni
2017-11-22 8:14 ` Yao, Jiewen
0 siblings, 1 reply; 2+ messages in thread
From: Ruiyu Ni @ 2017-11-20 5:14 UTC (permalink / raw)
To: edk2-devel; +Cc: Jiewen Yao
EfiBootManagerStartHotkeyService() asserts when "BootOptionSupport"
variable doesn't exist.
In fact, though "BootOptionSupport" variable is set in BdsDxe
module, it's possible that the variable is deleted by
PlatformBootManagerBeforeConsole().
The patch removes the assertion and adds code to handle the case.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
---
MdeModulePkg/Library/UefiBootManagerLib/BmHotkey.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmHotkey.c b/MdeModulePkg/Library/UefiBootManagerLib/BmHotkey.c
index efad073880..d18ce02eb3 100644
--- a/MdeModulePkg/Library/UefiBootManagerLib/BmHotkey.c
+++ b/MdeModulePkg/Library/UefiBootManagerLib/BmHotkey.c
@@ -870,13 +870,13 @@ EfiBootManagerStartHotkeyService (
EFI_EVENT Event;
UINT32 *BootOptionSupport;
- Status = GetEfiGlobalVariable2 (EFI_BOOT_OPTION_SUPPORT_VARIABLE_NAME, (VOID **) &BootOptionSupport, NULL);
- ASSERT (BootOptionSupport != NULL);
-
- if ((*BootOptionSupport & EFI_BOOT_OPTION_SUPPORT_KEY) != 0) {
- mBmHotkeySupportCount = ((*BootOptionSupport & EFI_BOOT_OPTION_SUPPORT_COUNT) >> LowBitSet32 (EFI_BOOT_OPTION_SUPPORT_COUNT));
+ GetEfiGlobalVariable2 (EFI_BOOT_OPTION_SUPPORT_VARIABLE_NAME, (VOID **) &BootOptionSupport, NULL);
+ if (BootOptionSupport != NULL) {
+ if ((*BootOptionSupport & EFI_BOOT_OPTION_SUPPORT_KEY) != 0) {
+ mBmHotkeySupportCount = ((*BootOptionSupport & EFI_BOOT_OPTION_SUPPORT_COUNT) >> LowBitSet32 (EFI_BOOT_OPTION_SUPPORT_COUNT));
+ }
+ FreePool (BootOptionSupport);
}
- FreePool (BootOptionSupport);
if (mBmHotkeySupportCount == 0) {
DEBUG ((EFI_D_INFO, "Bds: BootOptionSupport NV variable forbids starting the hotkey service.\n"));
--
2.15.0.gvfs.1.preview.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] MdeModulePkg/UefiBootManagerLib: Remove assertion
2017-11-20 5:14 [PATCH] MdeModulePkg/UefiBootManagerLib: Remove assertion Ruiyu Ni
@ 2017-11-22 8:14 ` Yao, Jiewen
0 siblings, 0 replies; 2+ messages in thread
From: Yao, Jiewen @ 2017-11-22 8:14 UTC (permalink / raw)
To: Ni, Ruiyu, edk2-devel@lists.01.org
Reviewed-by: Jiewen.yao@intel.com
> -----Original Message-----
> From: Ni, Ruiyu
> Sent: Monday, November 20, 2017 1:14 PM
> To: edk2-devel@lists.01.org
> Cc: Yao, Jiewen <jiewen.yao@intel.com>
> Subject: [PATCH] MdeModulePkg/UefiBootManagerLib: Remove assertion
>
> EfiBootManagerStartHotkeyService() asserts when "BootOptionSupport"
> variable doesn't exist.
>
> In fact, though "BootOptionSupport" variable is set in BdsDxe
> module, it's possible that the variable is deleted by
> PlatformBootManagerBeforeConsole().
>
> The patch removes the assertion and adds code to handle the case.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> ---
> MdeModulePkg/Library/UefiBootManagerLib/BmHotkey.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmHotkey.c
> b/MdeModulePkg/Library/UefiBootManagerLib/BmHotkey.c
> index efad073880..d18ce02eb3 100644
> --- a/MdeModulePkg/Library/UefiBootManagerLib/BmHotkey.c
> +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmHotkey.c
> @@ -870,13 +870,13 @@ EfiBootManagerStartHotkeyService (
> EFI_EVENT Event;
> UINT32 *BootOptionSupport;
>
> - Status = GetEfiGlobalVariable2
> (EFI_BOOT_OPTION_SUPPORT_VARIABLE_NAME, (VOID **)
> &BootOptionSupport, NULL);
> - ASSERT (BootOptionSupport != NULL);
> -
> - if ((*BootOptionSupport & EFI_BOOT_OPTION_SUPPORT_KEY) != 0) {
> - mBmHotkeySupportCount = ((*BootOptionSupport &
> EFI_BOOT_OPTION_SUPPORT_COUNT) >> LowBitSet32
> (EFI_BOOT_OPTION_SUPPORT_COUNT));
> + GetEfiGlobalVariable2 (EFI_BOOT_OPTION_SUPPORT_VARIABLE_NAME,
> (VOID **) &BootOptionSupport, NULL);
> + if (BootOptionSupport != NULL) {
> + if ((*BootOptionSupport & EFI_BOOT_OPTION_SUPPORT_KEY) != 0) {
> + mBmHotkeySupportCount = ((*BootOptionSupport &
> EFI_BOOT_OPTION_SUPPORT_COUNT) >> LowBitSet32
> (EFI_BOOT_OPTION_SUPPORT_COUNT));
> + }
> + FreePool (BootOptionSupport);
> }
> - FreePool (BootOptionSupport);
>
> if (mBmHotkeySupportCount == 0) {
> DEBUG ((EFI_D_INFO, "Bds: BootOptionSupport NV variable forbids
> starting the hotkey service.\n"));
> --
> 2.15.0.gvfs.1.preview.4
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-11-22 8:10 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-20 5:14 [PATCH] MdeModulePkg/UefiBootManagerLib: Remove assertion Ruiyu Ni
2017-11-22 8:14 ` Yao, Jiewen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox