Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934798AbeAKPv5 (ORCPT + 1 other); Thu, 11 Jan 2018 10:51:57 -0500 Received: from mga07.intel.com ([134.134.136.100]:45506 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932223AbeAKPv4 (ORCPT ); Thu, 11 Jan 2018 10:51:56 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,345,1511856000"; d="scan'208";a="10479998" Subject: Re: [RFC PATCH v2 6/6] x86/entry/pti: don't switch PGD on when pti_disable is set To: Willy Tarreau References: <1515502580-12261-1-git-send-email-w@1wt.eu> <1515502580-12261-7-git-send-email-w@1wt.eu> <20180110082207.GX29822@worktop.programming.kicks-ass.net> <20180110091102.GH14066@1wt.eu> <20180111064259.GC14920@1wt.eu> <0f08d89e-61e1-20e3-5c59-0b2f7b32bf0c@linux.intel.com> <20180111154412.GA15296@1wt.eu> Cc: Linus Torvalds , Andy Lutomirski , Peter Zijlstra , LKML , X86 ML , Borislav Petkov , Brian Gerst , Ingo Molnar , Thomas Gleixner , Josh Poimboeuf , "H. Peter Anvin" , Greg Kroah-Hartman , Kees Cook From: Dave Hansen Message-ID: Date: Thu, 11 Jan 2018 07:51:45 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <20180111154412.GA15296@1wt.eu> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On 01/11/2018 07:44 AM, Willy Tarreau wrote: >> I think we also need to be able to dump the actual >> CR3 value that we entered the kernel with before we start doing too much >> other funky stuff with the entry code. > When you say dump, you mean save it somewhere in a per_cpu variable ? Yeah, I think a per-cpu variable is fine for now. But, that only gives you a dump from a single entry to the kernel. Ideally, it would be nice to have a stack of them so you could do things like debug syscall->fault->oops. Was it the syscall entry or the fault entry that lead to the oops? But, the stack gets really fun because of NMIs. I'm sure Andy Lutomirski has some ideas too.