On 08/10/2018 08:36 AM, AKASHI Takahiro wrote:
> The commit 21b3edfc9644 ("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: 21b3edfc9644 ("efi_loader: check parameters of CreateEvent")
> Signed-off-by: AKASHI Takahiro <takahiro.aka...@linaro.org>
> ---
>  lib/efi_loader/efi_boottime.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
> index ac8f484507bd..f3fba3190981 100644
> --- a/lib/efi_loader/efi_boottime.c
> +++ b/lib/efi_loader/efi_boottime.c
> @@ -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));
> 

@Alex:
Please, add this to the pull request for rc2.

Reviewed-by: Heinrich Schuchardt <xypron.g...@gmx.de>
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to