From 01fa922bbbac378902ef85e522724dd7c7a10a8b Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Wed, 22 Jul 2020 06:29:38 +0200 Subject: [PATCH] efi_loader: efi_current_var after SetVirtualAddressMap Variable efi_current_var is a pointer to a physical memory address that becomes invalid after SetVirtualAddressMap(). Instead of converting it via ConvertPointer() simply set it to NULL. Fixes: b02a707152dc ("efi_loader: enable UEFI variables at runtime") Signed-off-by: Heinrich Schuchardt --- lib/efi_loader/efi_var_mem.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/efi_loader/efi_var_mem.c b/lib/efi_loader/efi_var_mem.c index 7a2dba7dc2..856e5e1d56 100644 --- a/lib/efi_loader/efi_var_mem.c +++ b/lib/efi_loader/efi_var_mem.c @@ -231,6 +231,7 @@ static void EFIAPI __efi_runtime efi_var_mem_notify_virtual_address_map(struct efi_event *event, void *context) { efi_convert_pointer(0, (void **)&efi_var_buf); + efi_current_var = NULL; } efi_status_t efi_var_mem_init(void) -- 2.39.5