x86/pti: Do not enable PTI on CPUs which are not vulnerable to Meltdown
David Woodhouse authored
Also, for CPUs which don't speculate at all, don't report that they're
vulnerable to the Spectre variants either.

Leave the cpu_no_meltdown[] match table with just X86_VENDOR_AMD in it
for now, even though that could be done with a simple comparison, on the
assumption that we'll have more to add.

Based on suggestions from Dave Hansen and Alan Cox.
Signed-off-by: default avatarDavid Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Reviewed-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: default avatarBorislav Petkov <bp@suse.de>
Acked-by: default avatarDave Hansen <dave.hansen@intel.com>
Cc: gnomes@lxorguk.ukuu.org.uk
Cc: ak@linux.intel.com
Cc: ashok.raj@intel.com
Cc: karahmed@amazon.de
Cc: arjan@linux.intel.com
Cc: torvalds@linux-foundation.org
Cc: peterz@infradead.org
Cc: bp@alien8.de
Cc: pbonzini@redhat.com
Cc: tim.c.chen@linux.intel.com
Cc: gregkh@linux-foundation.org
Link: https://lkml.kernel.org/r/1516896855-7642-6-git...
fec9434a
Name Last commit Last update
..
mcheck x86/mce: Make machine check speculation protected
microcode x86/microcode: Dont abuse the TLB-flush interface
mtrr License cleanup: add SPDX GPL-2.0 license identifier to files with no license
.gitignore Update .gitignore files for generated targets
Makefile Merge commit 'upstream-x86-entry' into WIP.x86/mm
amd.c x86/cpu/AMD: Use LFENCE_RDTSC in preference to MFENCE_RDTSC
aperfmperf.c Revert "x86: CPU: Fix up "cpu MHz" in /proc/cpuinfo"
bugs.c module/retpoline: Warn about missing retpoline in module
centaur.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license
common.c x86/pti: Do not enable PTI on CPUs which are not vulnerable to Meltdown
cpu.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license
cpuid-deps.c x86/cpuid: Replace set/clear_bit32()
cyrix.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license
hypervisor.c x86/virt: Add enum for hypervisors to replace x86_hyper
intel.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license
intel_cacheinfo.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license
intel_rdt.c x86/intel_rdt: Turn off most RDT features on Skylake
intel_rdt.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license
intel_rdt_ctrlmondata.c x86/intel_rdt/mbm: Add mbm counter initialization
intel_rdt_monitor.c x86/intel_rdt/cqm: Improve limbo list processing
intel_rdt_rdtgroup.c x86/intel_rdt: Remove redundant ternary operator on return
match.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license
mkcapflags.sh License cleanup: add SPDX GPL-2.0 license identifier to files with no license
mshyperv.c x86/virt: Add enum for hypervisors to replace x86_hyper
perfctr-watchdog.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license
powerflags.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license
proc.c Revert "x86: CPU: Fix up "cpu MHz" in /proc/cpuinfo"
rdrand.c x86, asm: Use CC_SET()/CC_OUT() and static_cpu_has() in archrandom.h
scattered.c x86/cpufeatures: Add CPUID_7_EDX CPUID leaf
topology.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license
transmeta.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license
umc.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license
vmware.c x86/virt: Add enum for hypervisors to replace x86_hyper