Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp2898846ybk; Tue, 12 May 2020 10:47:28 -0700 (PDT) X-Google-Smtp-Source: APiQypKczzv2WraQsnzD3GoR7J/d/+TBZvYOf+SRHAm5eAE+82BxKlxWVJAwKyeMgow6KazndEg0 X-Received: by 2002:a17:906:1696:: with SMTP id s22mr18076339ejd.302.1589305648620; Tue, 12 May 2020 10:47:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589305648; cv=none; d=google.com; s=arc-20160816; b=aRIb0DYHktM4t7ayagwm16IBnfYFtBNHpsxU1mCrqqZUCJDWAAkV9vMSG2w2g+LbYP nZ7+UM15ThcPuM6MmF3Qw3YuZqsPxbtqMmqlWJYFxkdfWh16mzjE1q3ww4TfWFwmhPdH 26/hzQkUfjn8O9ojbI289wBMjK5KrAcCTa2XbGMWPMSp81Uo44rY3V/Z3VG99WSbfTcz oG22OAiM2WHPhbQx8QF/gn3wWzMj3SYh0NLSY0NXwPz/gZxfCqYDGamdCENkhO4TzDyg Px0h+C+RTESi8KoqnhnANOvUgq87s0OL/NQd7zAwVyTBrQxDhRBZCdKa6YTS5M9LnqvB zdxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:autocrypt:from:references:cc:to:subject:ironport-sdr :ironport-sdr; bh=Ae2WqWQW88Kg7BeqVcWF7JxMvUBDzbiHflVrrSJ4JCc=; b=AJ/PktwxsNUg4I2gsi1Kkp/8vj1IGWlrX1sL9jKoJqi3lcrPDt27T2kyB8000NSp27 vU+GiIVn9B4CuPWY1DOTMyHGotah/0WXvrNoMUzFluQt9b/BOPNPLoJg8iAG7CGLs0TS Dhe/n2aqihZynqugnXl51CvlJ2HU0VP6YXwquEbBTmjYdEkZVxXiOLVZFKaZiTtq7zrX R55S5RqBwifugWg+fpyvJ8mnj7HU1xe/H0YagFncDYAhFgfpQPx/eSeavDveL7qBYk0l avkJkOhVdJVZCEjT/WA0WfNc6e1/BZ29/rRXgMGyZpbg8xSfEm74f33accbaK4WM0p3B NTuw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u61si1220002edc.347.2020.05.12.10.47.04; Tue, 12 May 2020 10:47:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730182AbgELRpT (ORCPT + 99 others); Tue, 12 May 2020 13:45:19 -0400 Received: from mga02.intel.com ([134.134.136.20]:41257 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726055AbgELRpT (ORCPT ); Tue, 12 May 2020 13:45:19 -0400 IronPort-SDR: qA1Jv8jYcvGEp1hBeXqTjNlv+OvYh4ckPNZesE0+KcEesXP6HidUjPqQPKa8XPigVFl9DbFN/T oWE9Df7K3AqA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 May 2020 10:45:18 -0700 IronPort-SDR: 5fGKP4ScgH0ZaydzkzTq4x+7gr0ScXwyhfPcgOXDyqoSp+SkFW6iF63D6PH4XD8zH4YR7v61RZ 8FJxoBc0aK6w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,384,1583222400"; d="scan'208";a="265583727" Received: from vmrsic-mobl.amr.corp.intel.com (HELO [10.255.229.212]) ([10.255.229.212]) by orsmga006.jf.intel.com with ESMTP; 12 May 2020 10:45:18 -0700 Subject: Re: [RFC v4][PATCH part-1 0/7] ASI - Part I (ASI Infrastructure and PTI) To: Alexandre Chartre , rkrcmar@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, hpa@zytor.com, dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org, x86@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: pbonzini@redhat.com, konrad.wilk@oracle.com, jan.setjeeilers@oracle.com, liran.alon@oracle.com, junaids@google.com, graf@amazon.de, rppt@linux.vnet.ibm.com, kuzuno@gmail.com, mgross@linux.intel.com References: <20200504144939.11318-1-alexandre.chartre@oracle.com> From: Dave Hansen Autocrypt: addr=dave.hansen@intel.com; keydata= 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 z5cecg== Message-ID: Date: Tue, 12 May 2020 10:45:17 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20200504144939.11318-1-alexandre.chartre@oracle.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 5/4/20 7:49 AM, Alexandre Chartre wrote: > This version 4 of the kernel Address Space Isolation (ASI) RFC. I have > broken it down into three distinct parts: > > - Part I: ASI Infrastructure and PTI (this part) > - Part II: Decorated Page-Table > - Part III: ASI Test Driver and CLI > > Part I is similar to RFCv3 [3] with some small bug fixes. Parts II and III > extend the initial patchset: part II introduces decorated page-table in > order to provide convenient page-table management functions, and part III > provides a driver and CLI for testing ASI (using parts I and II). These look interesting. I haven't found any holes in your methods, although the interrupt depth tracking worries me a bit. I tried and failed to do a similar thing with PTI in the NMI path, but you might have just bested me there. :) It's very interesting that you've been able to implement PTI underneath all of this, and the "test driver" is really entertaining! That said, this is working in some of the nastiest corners of the x86 code and this is going to take quite an investment to get reviewed. I'm not *quite* sure it's all worth it. So, this isn't being ignored, I'm just not quite sure what to do with it, yet.