mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
efi_loader: allowable event types in CreateEventEx()
CreateEventEx() does not allow the following event types: * EVT_SIGNAL_EXIT_BOOT_SERVICES * EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE This check is needed to pass the UEFI SCT conformance test. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Alexander Graf <agraf@csgraf.de>
This commit is contained in:
parent
52cbac9b06
commit
1884512b77
1 changed files with 18 additions and 2 deletions
|
@ -664,10 +664,26 @@ efi_status_t EFIAPI efi_create_event_ex(uint32_t type, efi_uintn_t notify_tpl,
|
||||||
efi_guid_t *event_group,
|
efi_guid_t *event_group,
|
||||||
struct efi_event **event)
|
struct efi_event **event)
|
||||||
{
|
{
|
||||||
|
efi_status_t ret;
|
||||||
|
|
||||||
EFI_ENTRY("%d, 0x%zx, %p, %p, %pUl", type, notify_tpl, notify_function,
|
EFI_ENTRY("%d, 0x%zx, %p, %p, %pUl", type, notify_tpl, notify_function,
|
||||||
notify_context, event_group);
|
notify_context, event_group);
|
||||||
return EFI_EXIT(efi_create_event(type, notify_tpl, notify_function,
|
|
||||||
notify_context, event_group, event));
|
/*
|
||||||
|
* The allowable input parameters are the same as in CreateEvent()
|
||||||
|
* except for the following two disallowed event types.
|
||||||
|
*/
|
||||||
|
switch (type) {
|
||||||
|
case EVT_SIGNAL_EXIT_BOOT_SERVICES:
|
||||||
|
case EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE:
|
||||||
|
ret = EFI_INVALID_PARAMETER;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = efi_create_event(type, notify_tpl, notify_function,
|
||||||
|
notify_context, event_group, event);
|
||||||
|
out:
|
||||||
|
return EFI_EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue