From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x226PwRxH+9kKa7TRbIhPCSljy9aJ5MdTEV2BQuTOTgG50DLhulg1fgHGNBUK9jiO4RfqBuAj ARC-Seal: i=1; a=rsa-sha256; t=1516528265; cv=none; d=google.com; s=arc-20160816; b=VaGMoIhmiYUQKYiW7jN+msC/EbxOeC6DIFLGvOkItJxtpu8OlU937OzAxEvTorvyLd fXM8W+Y0iWGlScfJJunhv4LRg0OfgHOzzohFdbR1gJtqTNPFBZolVuXisq3MwfP1I5hd EOmrPmijFLYpBXCXPBzL5mATxZf6yGYKot9+zrL3Q2GiOtxBp1lkyrizCU02uLba/GfO AuF2Y5z4QVsCab1rOKVBtupxkW5NwKzG63lRUVdjU+BONXwf2BQpLJh/YHKZIsPlyC3g hYDPvxLzbjr5GMUs9BcURRvKq0z5Lrjtyf0FjqvQv6f5nVv/oM6xXZjQJBcqTG2SkPZT h1Uw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:to:from :dkim-signature:arc-authentication-results; bh=DaxbwME+Dxlcj672qE9wTVJAZqSn8lMcsvXNTIA6Cus=; b=blYh0kb/naQBfKKgwGosOob+DjzGefog6ntu32w4n2M1ZuwcWM1tSwaHoDhG+Uo/W7 UW+sRYfWa0LS9I90btDODMzT/YOo/4jvv+jXZE9+VwReYDvT5SWyfIoxH0h5ylxcqJ1H 5OJzS6hx3gGwmajvqlPVmQJFKiY1OTm4pYjBTiwjIcwOYi78uirvw+czFABtqFiShHxR Lb08shBhoPjz8bSD5Y7jk93QEr6h51cVX4who1x8g4XFJ//c+VrDScEkFCntruRBmtBl NN/whom0ieaWlsL4ite+IbV9PtyUkct6v8aUyKZNcxciNbqSePn4Qiz8CIodxHJaZsm6 kH2Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amazon.co.uk header.s=amazon201209 header.b=HxHfreZk; spf=pass (google.com: domain of prvs=552b621e3=dwmw@amazon.com designates 207.171.184.25 as permitted sender) smtp.mailfrom=prvs=552b621e3=dwmw@amazon.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.co.uk Authentication-Results: mx.google.com; dkim=pass header.i=@amazon.co.uk header.s=amazon201209 header.b=HxHfreZk; spf=pass (google.com: domain of prvs=552b621e3=dwmw@amazon.com designates 207.171.184.25 as permitted sender) smtp.mailfrom=prvs=552b621e3=dwmw@amazon.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.co.uk X-IronPort-AV: E=Sophos;i="5.46,390,1511827200"; d="scan'208";a="720512082" From: David Woodhouse To: arjan@linux.intel.com, tglx@linutronix.de, karahmed@amazon.de, x86@kernel.org, linux-kernel@vger.kernel.org, tim.c.chen@linux.intel.com, bp@alien8.de, peterz@infradead.org, pbonzini@redhat.com, ak@linux.intel.com, torvalds@linux-foundation.org, gregkh@linux-foundation.org Subject: [PATCH v2 4/8] x86/pti: Do not enable PTI on fixed Intel processors Date: Sun, 21 Jan 2018 09:49:05 +0000 Message-Id: <1516528149-9370-5-git-send-email-dwmw@amazon.co.uk> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1516528149-9370-1-git-send-email-dwmw@amazon.co.uk> References: <1516528149-9370-1-git-send-email-dwmw@amazon.co.uk> X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1590195142088741574?= X-GMAIL-MSGID: =?utf-8?q?1590195142088741574?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: When they advertise the IA32_ARCH_CAPABILITIES MSR and it has the RDCL_NO bit set, they don't need KPTI either. Signed-off-by: David Woodhouse --- arch/x86/kernel/cpu/common.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index e5d66e9..80572ae 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c @@ -900,8 +900,13 @@ static void __init early_identify_cpu(struct cpuinfo_x86 *c) setup_force_cpu_cap(X86_FEATURE_ALWAYS); - if (c->x86_vendor != X86_VENDOR_AMD) - setup_force_cpu_bug(X86_BUG_CPU_MELTDOWN); + if (c->x86_vendor != X86_VENDOR_AMD) { + unsigned long ia32_cap = 0; + if (cpu_has(c, X86_FEATURE_ARCH_CAPABILITIES)) + rdmsrl(MSR_IA32_ARCH_CAPABILITIES, ia32_cap); + if (!(ia32_cap & ARCH_CAP_RDCL_NO)) + setup_force_cpu_bug(X86_BUG_CPU_MELTDOWN); + } setup_force_cpu_bug(X86_BUG_SPECTRE_V1); setup_force_cpu_bug(X86_BUG_SPECTRE_V2); -- 2.7.4