All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Woodhouse <dwmw@amazon.co.uk>
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,
	dave.hansen@intel.com, gnomes@lxorguk.ukuu.org.uk,
	ashok.raj@intel.com, mingo@kernel.org
Subject: [PATCH v4 0/7] Basic Speculation Control feature support
Date: Thu, 25 Jan 2018 09:23:02 +0000	[thread overview]
Message-ID: <1516872189-16577-1-git-send-email-dwmw@amazon.co.uk> (raw)

Add the basic CPUID and MSR definitions for AMD and Intel, followed by 
the complete no-brainer: Disable KPTI on Intel CPUs which set the 
RDCL_NO bit to say that they don't need it, as well as others which are
known not to speculate such as old Atoms and even older 32-bit chips.

Alan will continue an archæological dig to round up some more entries
for that table.

Also blacklist the early Intel microcodes for Spectre mitigation features,
and add the basic support for indirect_branch_prediction_barrier(). The
latter is needed to protect userspace and complete the retpoline-based
mitigation. Patches on top of it are being bikeshedded as we speak...

v2: Cleanups, add AMD bits for STIBP/SPEC_CTRL.
v3: Add more CPUs to the exemption for KPTI and clean that up.
    Add microcode blacklist (RFC).
v4: Roll in 'no speculation' list for CPUs not vulnerable to Spectre.
    Cosmetic cleanups in microcode blacklist table.

David Woodhouse (7):
  x86/cpufeatures: Add CPUID_7_EDX CPUID leaf
  x86/cpufeatures: Add Intel feature bits for Speculation Control
  x86/cpufeatures: Add AMD feature bits for Speculation Control
  x86/msr: Add definitions for new speculation control MSRs
  x86/pti: Do not enable PTI on processors which are not vulnerable to
    Meltdown
  x86/cpufeature: Blacklist SPEC_CTRL on early Spectre v2 microcodes
  x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier)
    support

 arch/x86/include/asm/cpufeature.h        |  7 +++-
 arch/x86/include/asm/cpufeatures.h       | 15 +++++--
 arch/x86/include/asm/disabled-features.h |  3 +-
 arch/x86/include/asm/msr-index.h         | 12 ++++++
 arch/x86/include/asm/nospec-branch.h     | 13 ++++++
 arch/x86/include/asm/required-features.h |  3 +-
 arch/x86/kernel/cpu/bugs.c               |  7 ++++
 arch/x86/kernel/cpu/common.c             | 48 ++++++++++++++++++---
 arch/x86/kernel/cpu/intel.c              | 71 ++++++++++++++++++++++++++++++++
 arch/x86/kernel/cpu/scattered.c          |  2 -
 10 files changed, 167 insertions(+), 14 deletions(-)

-- 
2.7.4

             reply	other threads:[~2018-01-25  9:23 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-25  9:23 David Woodhouse [this message]
2018-01-25  9:23 ` [PATCH v4 1/7] x86/cpufeatures: Add CPUID_7_EDX CPUID leaf David Woodhouse
2018-01-25  9:23 ` [PATCH v4 2/7] x86/cpufeatures: Add Intel feature bits for Speculation Control David Woodhouse
2018-01-25  9:23 ` [PATCH v4 3/7] x86/cpufeatures: Add AMD " David Woodhouse
2018-01-25  9:23 ` [PATCH v4 4/7] x86/msr: Add definitions for new speculation control MSRs David Woodhouse
2018-01-25  9:23 ` [PATCH v4 5/7] x86/pti: Do not enable PTI on processors which are not vulnerable to Meltdown David Woodhouse
2018-01-25  9:42   ` Peter Zijlstra
2018-01-25  9:56     ` David Woodhouse
2018-01-25 10:01       ` Thomas Gleixner
2018-01-25 15:12   ` Alan Cox
2018-01-25  9:23 ` [PATCH v4 6/7] x86/cpufeature: Blacklist SPEC_CTRL on early Spectre v2 microcodes David Woodhouse
2018-01-25 10:43   ` David Woodhouse
2018-01-25 10:54     ` Thomas Gleixner
2018-01-25 11:20       ` David Woodhouse
2018-01-25 11:34         ` Thomas Gleixner
2018-01-25 13:41           ` David Woodhouse
2018-01-25 14:58             ` Thomas Gleixner
2018-01-25 16:16             ` Alan Cox
2018-01-25 16:24               ` Thomas Gleixner
2018-01-25 16:35                 ` David Woodhouse
2018-01-26  9:40             ` Ingo Molnar
2018-01-25  9:23 ` [PATCH v4 7/7] x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier) support David Woodhouse
2018-01-25 11:41   ` Borislav Petkov
2018-01-25 11:47     ` David Woodhouse
2018-01-25 11:50       ` Borislav Petkov
2018-01-25 11:58         ` David Woodhouse
2018-01-25 12:03           ` Borislav Petkov
2018-01-25 12:11             ` David Woodhouse

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1516872189-16577-1-git-send-email-dwmw@amazon.co.uk \
    --to=dwmw@amazon.co.uk \
    --cc=ak@linux.intel.com \
    --cc=arjan@linux.intel.com \
    --cc=ashok.raj@intel.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@intel.com \
    --cc=gnomes@lxorguk.ukuu.org.uk \
    --cc=gregkh@linux-foundation.org \
    --cc=karahmed@amazon.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=tim.c.chen@linux.intel.com \
    --cc=torvalds@linux-foundation.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.