mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-29 08:01:08 +00:00
efi_loader: fix a parameter check at CreateEvent()
The commit21b3edfc96
("efi_loader: check parameters of CreateEvent") enforces a strict parameter check at CreateEvent(). On the other hand, UEFI specification version 2.7, section 7.1, says: The EVT_NOTIFY_WAIT and EVT_NOTIFY_SIGNAL flags are exclusive. If neither flag is specified, the caller does not require any notification concerning the event and the NotifyTpl, NotifyFunction, and NotifyContext parameters are ignored. So the check should be mitigated so as to comply with the specification. Without this patch, EDK2's Shell.efi won't be started. Fixes:21b3edfc96
("efi_loader: check parameters of CreateEvent") Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
122347f366
commit
3748ed908f
1 changed files with 2 additions and 1 deletions
|
@ -627,7 +627,8 @@ efi_status_t efi_create_event(uint32_t type, efi_uintn_t notify_tpl,
|
|||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (is_valid_tpl(notify_tpl) != EFI_SUCCESS)
|
||||
if ((type & (EVT_NOTIFY_WAIT | EVT_NOTIFY_SIGNAL)) &&
|
||||
(is_valid_tpl(notify_tpl) != EFI_SUCCESS))
|
||||
return EFI_INVALID_PARAMETER;
|
||||
|
||||
evt = calloc(1, sizeof(struct efi_event));
|
||||
|
|
Loading…
Reference in a new issue