Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933720AbeAKWay (ORCPT + 1 other); Thu, 11 Jan 2018 17:30:54 -0500 Received: from Galois.linutronix.de ([146.0.238.70]:60227 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933207AbeAKWax (ORCPT ); Thu, 11 Jan 2018 17:30:53 -0500 Date: Thu, 11 Jan 2018 23:30:41 +0100 (CET) From: Thomas Gleixner To: Linus Torvalds cc: Pavel Tatashin , Greg Kroah-Hartman , Andy Lutomirski , Hugh Dickins , Thomas Voegtle , Linux Kernel Mailing List , Andrew Morton , Guenter Roeck , Shuah Khan , patches@kernelci.org, Ben Hutchings , lkft-triage@lists.linaro.org, stable , Steve Sistare , Matt Fleming , Borislav Petkov Subject: Re: [PATCH 4.4 00/37] 4.4.110-stable review In-Reply-To: Message-ID: References: <20180105175229.GA29834@kroah.com> <20180105204557.GA8839@kroah.com> <20180107104540.GB14783@kroah.com> <20180108074645.GA24062@kroah.com> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On Thu, 11 Jan 2018, Thomas Gleixner wrote: > On Thu, 11 Jan 2018, Linus Torvalds wrote: > > > On Thu, Jan 11, 2018 at 12:37 PM, Thomas Gleixner wrote: > > > > > > 67a9108ed431 ("x86/efi: Build our own page table structures") > > > > > > got rid of EFI depending on real_mode_header->trampoline_pgd > > > > So I think it only got rid of by default - the codepath is still > > there, the allocation is still there, it's just that it's not actually > > used unless somebody does that "efi=old_mmap" thing. > > Yes, the trampoline_pgd is still around, but I can't figure out how it > would be used after boot. Confused, digging more. So coming back to the same commit. From the changelog: This is caused by mapping EFI regions with RWX permissions. There isn't much we can do to restrict the permissions for these regions due to the way the firmware toolchains mix code and data, but we can at least isolate these mappings so that they do not appear in the regular kernel page tables. In commit d2f7cbe7b26a ("x86/efi: Runtime services virtual mapping") we started using 'trampoline_pgd' to map the EFI regions because there was an existing identity mapping there which we use during the SetVirtualAddressMap() call and for broken firmware that accesses those addresses. So this very commit gets rid of the (ab)use of trampoline_pgd and allocates efi_pgd, which we made use the proper size. trampoline_pgd is since then only used to get into long mode in realmode/rm/trampoline_64.S and for reboot in machine_real_restart(). The runtime services stuff does not use it in kernel versions >= 4.6 Thanks, tglx