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;
}
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)
{
EFI_INPUT_KEY key;
@ -671,12 +661,12 @@ static EFI_STATUS check_mok_request(EFI_HANDLE image_handle)
}
error:
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");
}
FreePool (MokNew);
}
delete_variable(L"MokAuth", shim_lock_guid);
LibDeleteVariable(L"MokAuth", &shim_lock_guid);
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;
}
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) {
MokListNode *list;
int i, remain = DataSize;
@ -612,7 +602,7 @@ static EFI_STATUS verify_buffer (char *data, int datasize,
if (attributes & EFI_VARIABLE_RUNTIME_ACCESS) {
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");
}
status = EFI_ACCESS_DENIED;