From: Yisheng Xie Date: Tue, 18 Oct 2016 14:33:13 +0000 (+0100) Subject: efi/arm*: Fix efi_init() error handling X-Git-Tag: Ubuntu-4.10.0-7.9~1010^2~19 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=0709a008c9fadc176500ece7395b8b5b8de143e3;p=mirror_ubuntu-zesty-kernel.git efi/arm*: Fix efi_init() error handling There's an early memmap() leak in the efi_init() error path, fix it. Signed-off-by: Yisheng Xie Signed-off-by: Matt Fleming Cc: Ard Biesheuvel Cc: Catalin Marinas Cc: Linus Torvalds Cc: Mark Rutland Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: Will Deacon Cc: linux-efi@vger.kernel.org Link: http://lkml.kernel.org/r/20161018143318.15673-4-matt@codeblueprint.co.uk Signed-off-by: Ingo Molnar --- diff --git a/drivers/firmware/efi/arm-init.c b/drivers/firmware/efi/arm-init.c index 8efe13075c92..f853ad2c4ca0 100644 --- a/drivers/firmware/efi/arm-init.c +++ b/drivers/firmware/efi/arm-init.c @@ -244,8 +244,10 @@ void __init efi_init(void) "Unexpected EFI_MEMORY_DESCRIPTOR version %ld", efi.memmap.desc_version); - if (uefi_init() < 0) + if (uefi_init() < 0) { + efi_memmap_unmap(); return; + } reserve_regions(); efi_memattr_init();