[PATCH] arm64/efi: efi_init error handling fix

From: Xie Yisheng
Date: Fri Sep 02 2016 - 06:21:33 EST


From: Yisheng Xie <xieyisheng1@xxxxxxxxxx>

There's an early memmap leak in efi_init error path, fix it.

Signed-off-by: Yisheng Xie <xieyisheng1@xxxxxxxxxx>
---
drivers/firmware/efi/arm-init.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/firmware/efi/arm-init.c b/drivers/firmware/efi/arm-init.c
index c49d50e..5080e40 100644
--- a/drivers/firmware/efi/arm-init.c
+++ b/drivers/firmware/efi/arm-init.c
@@ -243,8 +243,10 @@ void __init efi_init(void)
"Unexpected EFI_MEMORY_DESCRIPTOR version %ld",
efi.memmap.desc_version);

- if (uefi_init() < 0)
+ if (uefi_init() < 0) {
+ early_memunmap(efi.memmap.map, params.mmap_size);
return;
+ }

reserve_regions();
efi_memattr_init();
--
1.7.12.4