From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753865AbeAMRov (ORCPT + 1 other); Sat, 13 Jan 2018 12:44:51 -0500 Received: from aserp2130.oracle.com ([141.146.126.79]:36624 "EHLO aserp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751301AbeAMRou (ORCPT ); Sat, 13 Jan 2018 12:44:50 -0500 X-Google-Smtp-Source: ACJfBoszVbXEB2A/EaLjYhQPYTnuMi8Ag1Ydm4VRFtUusE7aEKUX/gY/ARdLyZswzSNbSmYG+6UZyvUyX1C2G+JOeOE= MIME-Version: 1.0 In-Reply-To: <20180113171253.GA6797@kroah.com> References: <20180111215820.29736-1-pasha.tatashin@oracle.com> <20180113171253.GA6797@kroah.com> From: Pavel Tatashin Date: Sat, 13 Jan 2018 12:40:10 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 4.9] x86/pti/efi: broken conversion from efi to kernel page table To: Greg KH Cc: Steve Sistare , Linux Kernel Mailing List , Thomas Gleixner , mingo@redhat.com, hpa@zytor.com, x86@kernel.org, Jiri Kosina , Hugh Dickins , dave.hansen@linux.intel.com, Andy Lutomirski , Linus Torvalds Content-Type: text/plain; charset="UTF-8" X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8773 signatures=668652 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=2 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1801130250 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: Hi Greg, Yeah, the one in pgtable.c needs to be removed, I wonder how it compiled... I will submit a new patch for 4.9 sometime later. Thank you, Pavel On Sat, Jan 13, 2018 at 12:12 PM, Greg KH wrote: > On Thu, Jan 11, 2018 at 04:58:20PM -0500, Pavel Tatashin wrote: >> The page table order must be increased for EFI table in order to avoid a >> bug where NMI tries to change the page table to kernel page table, while >> efi page table is active. >> >> For more disccussion about this bug, see this thread: >> http://lkml.iu.edu/hypermail/linux/kernel/1801.1/00951.html >> >> Signed-off-by: Pavel Tatashin >> Reviewed-by: Steven Sistare >> Acked-by: Jiri Kosina >> --- >> arch/x86/include/asm/pgalloc.h | 11 +++++++++++ >> arch/x86/platform/efi/efi_64.c | 2 +- >> 2 files changed, 12 insertions(+), 1 deletion(-) >> >> diff --git a/arch/x86/include/asm/pgalloc.h b/arch/x86/include/asm/pgalloc.h >> index b6d425999f99..1178a51b77f3 100644 >> --- a/arch/x86/include/asm/pgalloc.h >> +++ b/arch/x86/include/asm/pgalloc.h >> @@ -27,6 +27,17 @@ static inline void paravirt_release_pud(unsigned long pfn) {} >> */ >> extern gfp_t __userpte_alloc_gfp; >> >> +#ifdef CONFIG_PAGE_TABLE_ISOLATION >> +/* >> + * Instead of one PGD, we acquire two PGDs. Being order-1, it is >> + * both 8k in size and 8k-aligned. That lets us just flip bit 12 >> + * in a pointer to swap between the two 4k halves. >> + */ >> +#define PGD_ALLOCATION_ORDER 1 >> +#else >> +#define PGD_ALLOCATION_ORDER 0 >> +#endif > > This conflicts with the definition of PGD_ALLOCATION_ORDER in > arch/x86/mm/pgtable.c that says: > > /* > * Instead of one pgd, Kaiser acquires two pgds. Being order-1, it is > * both 8k in size and 8k-aligned. That lets us just flip bit 12 > * in a pointer to swap between the two 4k halves. > */ > #define PGD_ALLOCATION_ORDER kaiser_enabled > > So, which is it? > > I'm going to go drop this from the 4.9 stable queue because of this. > > thanks, > > greg k-h