From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752105AbcIMLSK (ORCPT ); Tue, 13 Sep 2016 07:18:10 -0400 Received: from mail-wm0-f42.google.com ([74.125.82.42]:33008 "EHLO mail-wm0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751518AbcIMLSI (ORCPT ); Tue, 13 Sep 2016 07:18:08 -0400 Date: Tue, 13 Sep 2016 12:18:04 +0100 From: Matt Fleming To: Yisheng Xie Cc: Will Deacon , mingo@kernel.org, guohanjun@huawei.com, mark.rutland@arm.com, catalin.marinas@arm.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-efi@vger.kernel.org, ard.biesheuvel@linaro.org Subject: Re: [PATCH] arm64/efi: efi_init error handling fix Message-ID: <20160913111804.GG3872@codeblueprint.co.uk> References: <1472811519-4897-1-git-send-email-xieyisheng1@huawei.com> <20160902102618.GC17482@arm.com> <20160905135723.GK32579@codeblueprint.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24+41 (02bc14ed1569) (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 07 Sep, at 07:15:48PM, Yisheng Xie wrote: > > > On 2016/9/5 21:57, Matt Fleming wrote: > > On Fri, 02 Sep, at 11:26:18AM, Will Deacon wrote: > >> On Fri, Sep 02, 2016 at 06:18:39PM +0800, Xie Yisheng wrote: > >>> From: Yisheng Xie > >>> > >>> 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; > >>> + } > > > > This should be a call to efi_memmap_unmap() because the EFI_MEMMAP > > flag also needs clearing. > > > Hi Matt, > Thanks for your reply. > You mean call the function efi_unmap_memmap() like x86? > > however, it seems no need to clear EFI_MEMMAP here. For arm*, the flag > EFI_MEMMAP is set in function reserve_regions(), which is called > only when uefi_init() return 0: > > efi_init() > -> reserve_regions() > -> set_bit(EFI_MEMMAP, &efi.flags); This patch should be against the 'next' branch here, https://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git/log/?h=next My comments were made with that branch in mind.