[U-Boot] [U-Boot, 2/2] efi_loader: check CreateEvent() parameters

Heinrich Schuchardt xypron.glpk at gmx.de
Sat Jul 1 06:44:20 UTC 2017


On 03/12/2017 09:26 AM, Jonathan Gray wrote:
> Add some of the invalid parameter checks described in the UEFI
> specification for CreateEvent().  This does not include checking
> the validity of the type and tpl parameters.
> 
> Signed-off-by: Jonathan Gray <jsg at jsg.id.au>
> ---
>  lib/efi_loader/efi_boottime.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
> index eb5946a959..7172b690a5 100644
> --- a/lib/efi_loader/efi_boottime.c
> +++ b/lib/efi_loader/efi_boottime.c
> @@ -189,6 +189,16 @@ static efi_status_t EFIAPI efi_create_event(
>  		return EFI_EXIT(EFI_OUT_OF_RESOURCES);
>  	}
>  
> +	if (event == NULL)
> +		return EFI_EXIT(EFI_INVALID_PARAMETER);
> +
> +	if ((type & EVT_NOTIFY_SIGNAL) && (type & EVT_NOTIFY_WAIT))
> +		return EFI_EXIT(EFI_INVALID_PARAMETER);
> +
> +	if ((type & (EVT_NOTIFY_SIGNAL|EVT_NOTIFY_WAIT)) &&
> +	     notify_function == NULL)
> +		return EFI_EXIT(EFI_INVALID_PARAMETER);
> +
>  	efi_event.type = type;
>  	efi_event.notify_tpl = notify_tpl;
>  	efi_event.notify_function = notify_function;
>

In case of EVT_NOTIFY_WAIT we should also check if the event is already
in the signaled state. But this flag is not implemented yet.

Acked-By: Heinrich Schuchardt <xypron.glpk at gmx.de>


More information about the U-Boot mailing list