[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