From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751693AbdA0WOc (ORCPT ); Fri, 27 Jan 2017 17:14:32 -0500 Received: from mail-wm0-f51.google.com ([74.125.82.51]:36625 "EHLO mail-wm0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751314AbdA0WOY (ORCPT ); Fri, 27 Jan 2017 17:14:24 -0500 Date: Fri, 27 Jan 2017 22:13:11 +0000 From: Matt Fleming To: Ard Biesheuvel Cc: Dave Young , Nicolai Stange , "linux-efi@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "x86@kernel.org" , Ingo Molnar , Thomas Gleixner , "hpa@zytor.com" , Dan Williams , Mika =?iso-8859-1?Q?Penttil=E4?= , Bhupesh Sharma Subject: Re: [PATCH 1/4] efi/x86: make efi_memmap_reserve only insert into boot mem areas Message-ID: <20170127221311.GH31613@codeblueprint.co.uk> References: <20170112094118.815108042@redhat.com> <20170112094214.860924858@redhat.com> <87r348r0k9.fsf@gmail.com> <20170112212952.GB2709@dhcp-128-65.nay.redhat.com> <20170127144813.GE31613@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 Fri, 27 Jan, at 05:04:50PM, Ard Biesheuvel wrote: > On 27 January 2017 at 14:48, Matt Fleming wrote: > > On Fri, 13 Jan, at 05:29:52AM, Dave Young wrote: > >> > >> It sounds reasonable though I'm still not sure about EFI_LOADER*. > >> > >> The main purpose of this patch is to address the invalid mem ranges > >> case. As Ard mentioned I will test with Peter's patch first, if it works > >> fine I would like to either drop this patch as a future improvement or add > >> it at the end of the next post. > >> > >> Matt, what's your opinion about the boot_only check and the EFI_LOADERS* > >> question? > > > > The main reason that efi_mem_reserve() isn't used for EFI_LOADER > > regions today is because we already have a mechanism for reserving it > > via memblock_reserve(), which we do during a very early stage of boot > > when parsing all the different types of SETUP_* objects. > > > > It's questionable whether it would make sense to switch to > > efi_mem_reserve() for EFI_LOADER regions because then you'd > > potentially have different APIs for different SETUP_* objects. > > > > As things stand today, I would suggest triggering a WARN_ON() if > > someone tries to efi_mem_reserve() an EFI_LOADER region, until/unless > > the day comes when a user exists in the kernel. > > Hmm, I just queued this. Should we drop it again? Does dropping it break the entire series? Having had some time to re-read Dave's commit log, it sounds like it just papers over a bug, which is that efi_memmap_insert() cannot deal with reserved entries, which all look like they describe the same region. So I guess my question is: Shouldn't you fix that instead of requiring the caller of efi_memmap_insert() to understand what type of entries it's mapping?