If EFI_FILE_PROTOCOL.Delete() fails, always close the handle and return
EFI_WARN_DELETE_FAILURE.

Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de>
---
 lib/efi_loader/efi_file.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/lib/efi_loader/efi_file.c b/lib/efi_loader/efi_file.c
index 182d735e6b..36ca719a82 100644
--- a/lib/efi_loader/efi_file.c
+++ b/lib/efi_loader/efi_file.c
@@ -307,16 +307,10 @@ static efi_status_t EFIAPI efi_file_delete(struct 
efi_file_handle *file)

        EFI_ENTRY("%p", file);

-       if (set_blk_dev(fh)) {
-               ret = EFI_DEVICE_ERROR;
-               goto error;
-       }
+       if (set_blk_dev(fh) || fs_unlink(fh->path))
+               ret = EFI_WARN_DELETE_FAILURE;

-       if (fs_unlink(fh->path))
-               ret = EFI_DEVICE_ERROR;
        file_close(fh);
-
-error:
        return EFI_EXIT(ret);
 }

--
2.20.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to