Use LibDeleteVariable in gnu-efi

This commit is contained in:
Gary Ching-Pang Lin 2012-10-02 11:55:44 +08:00
parent a737c14265
commit 000e235101
2 changed files with 3 additions and 23 deletions

View File

@ -39,16 +39,6 @@ static EFI_STATUS get_variable (CHAR16 *name, EFI_GUID guid, UINT32 *attributes,
return efi_status; return efi_status;
} }
static EFI_STATUS delete_variable (CHAR16 *name, EFI_GUID guid)
{
EFI_STATUS efi_status;
efi_status = uefi_call_wrapper(RT->SetVariable, 5, name, &guid,
0, 0, (UINT8 *)NULL);
return efi_status;
}
static EFI_INPUT_KEY get_keystroke (void) static EFI_INPUT_KEY get_keystroke (void)
{ {
EFI_INPUT_KEY key; EFI_INPUT_KEY key;
@ -671,12 +661,12 @@ static EFI_STATUS check_mok_request(EFI_HANDLE image_handle)
} }
error: error:
if (MokNew) { if (MokNew) {
if (delete_variable(L"MokNew", shim_lock_guid) != EFI_SUCCESS) { if (LibDeleteVariable(L"MokNew", &shim_lock_guid) != EFI_SUCCESS) {
Print(L"Failed to delete MokNew\n"); Print(L"Failed to delete MokNew\n");
} }
FreePool (MokNew); FreePool (MokNew);
} }
delete_variable(L"MokAuth", shim_lock_guid); LibDeleteVariable(L"MokAuth", &shim_lock_guid);
return EFI_SUCCESS; return EFI_SUCCESS;
} }

12
shim.c
View File

@ -92,16 +92,6 @@ static EFI_STATUS get_variable (CHAR16 *name, EFI_GUID guid, UINT32 *attributes,
return efi_status; return efi_status;
} }
static EFI_STATUS delete_variable (CHAR16 *name, EFI_GUID guid)
{
EFI_STATUS efi_status;
efi_status = uefi_call_wrapper(RT->SetVariable, 5, name, &guid,
0, 0, (UINT8 *)NULL);
return efi_status;
}
static MokListNode *build_mok_list(UINT32 num, void *Data, UINTN DataSize) { static MokListNode *build_mok_list(UINT32 num, void *Data, UINTN DataSize) {
MokListNode *list; MokListNode *list;
int i, remain = DataSize; int i, remain = DataSize;
@ -612,7 +602,7 @@ static EFI_STATUS verify_buffer (char *data, int datasize,
if (attributes & EFI_VARIABLE_RUNTIME_ACCESS) { if (attributes & EFI_VARIABLE_RUNTIME_ACCESS) {
Print(L"MokList is compromised!\nErase all keys in MokList!\n"); Print(L"MokList is compromised!\nErase all keys in MokList!\n");
if (delete_variable(L"MokList", shim_lock_guid) != EFI_SUCCESS) { if (LibDeleteVariable(L"MokList", &shim_lock_guid) != EFI_SUCCESS) {
Print(L"Failed to erase MokList\n"); Print(L"Failed to erase MokList\n");
} }
status = EFI_ACCESS_DENIED; status = EFI_ACCESS_DENIED;