void *MokDel = NULL;
void *MokSB = NULL;
void *MokPW = NULL;
+ EFI_STATUS status;
- MokNew = LibGetVariableAndSize(L"MokNew", &shim_lock_guid, &MokNewSize);
-
- MokDel = LibGetVariableAndSize(L"MokDel", &shim_lock_guid, &MokDelSize);
-
- MokSB = LibGetVariableAndSize(L"MokSB", &shim_lock_guid, &MokSBSize);
-
- MokPW = LibGetVariableAndSize(L"MokPW", &shim_lock_guid, &MokPWSize);
-
- enter_mok_menu(image_handle, MokNew, MokNewSize, MokDel, MokDelSize,
- MokSB, MokSBSize, MokPW, MokPWSize);
-
- if (MokNew) {
+ status = get_variable(L"MokNew", (UINT8 **)&MokNew, &MokNewSize,
+ shim_lock_guid);
+ if (status == EFI_SUCCESS) {
if (LibDeleteVariable(L"MokNew", &shim_lock_guid) != EFI_SUCCESS) {
console_notify(L"Failed to delete MokNew");
}
- FreePool (MokNew);
+ } else if (EFI_ERROR(status) && status != EFI_NOT_FOUND) {
+ console_error(L"Could not retrieve MokNew", status);
}
- if (MokDel) {
+ status = get_variable(L"MokDel", (UINT8 **)&MokDel, &MokDelSize,
+ shim_lock_guid);
+ if (status == EFI_SUCCESS) {
if (LibDeleteVariable(L"MokDel", &shim_lock_guid) != EFI_SUCCESS) {
console_notify(L"Failed to delete MokDel");
}
- FreePool (MokDel);
+ } else if (EFI_ERROR(status) && status != EFI_NOT_FOUND) {
+ console_error(L"Could not retrieve MokDel", status);
}
- if (MokSB) {
+ status = get_variable(L"MokSB", (UINT8 **)&MokSB, &MokSBSize,
+ shim_lock_guid);
+ if (status == EFI_SUCCESS) {
if (LibDeleteVariable(L"MokSB", &shim_lock_guid) != EFI_SUCCESS) {
console_notify(L"Failed to delete MokSB");
}
- FreePool (MokNew);
+ } else if (EFI_ERROR(status) && status != EFI_NOT_FOUND) {
+ console_error(L"Could not retrieve MokSB", status);
}
- if (MokPW) {
+ status = get_variable(L"MokPW", (UINT8 **)&MokPW, &MokPWSize,
+ shim_lock_guid);
+ if (status == EFI_SUCCESS) {
if (LibDeleteVariable(L"MokPW", &shim_lock_guid) != EFI_SUCCESS) {
console_notify(L"Failed to delete MokPW");
}
- FreePool (MokNew);
+ } else if (EFI_ERROR(status) && status != EFI_NOT_FOUND) {
+ console_error(L"Could not retrieve MokPW", status);
}
+ enter_mok_menu(image_handle, MokNew, MokNewSize, MokDel, MokDelSize,
+ MokSB, MokSBSize, MokPW, MokPWSize);
+
+ if (MokNew)
+ FreePool (MokNew);
+
+ if (MokDel)
+ FreePool (MokDel);
+
+ if (MokSB)
+ FreePool (MokSB);
+
+ if (MokPW)
+ FreePool (MokPW);
+
LibDeleteVariable(L"MokAuth", &shim_lock_guid);
LibDeleteVariable(L"MokDelAuth", &shim_lock_guid);