From: Heinrich Schuchardt Date: Mon, 2 Nov 2020 18:32:24 +0000 (+0100) Subject: efi_loader: non-volatile variable not deleted from file X-Git-Url: http://git.dujemihanovic.xyz/login.html?a=commitdiff_plain;h=ab02c3fec499e89e09b0f024ef263821e4b5d918;p=u-boot.git efi_loader: non-volatile variable not deleted from file When deleting a non-volatile variable it was deleted from memory but the deletion was not persisted to the file system. SetVariable() may be called with attributes == 0 to delete a variable. To determine if the deletion shall be persisted we have to consider the non-volatile flag in the attributes of the deleted variable and not the value passed in the call parameter. Signed-off-by: Heinrich Schuchardt --- diff --git a/lib/efi_loader/efi_variable.c b/lib/efi_loader/efi_variable.c index a10b9caa8b..0c689cfb47 100644 --- a/lib/efi_loader/efi_variable.c +++ b/lib/efi_loader/efi_variable.c @@ -393,6 +393,7 @@ efi_status_t efi_set_variable_int(u16 *variable_name, const efi_guid_t *vendor, if (delete) { /* EFI_NOT_FOUND has been handled before */ + attributes = var->attr; ret = EFI_SUCCESS; } else if (append) { u16 *old_data = var->name;