android_kernel_sony_sdm845/arch/x86/kernel/cpu
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Anthony Steinhauser db39004352 x86/speculation: PR_SPEC_FORCE_DISABLE enforcement for indirect branches.
[ Upstream commit 4d8df8cbb9156b0a0ab3f802b80cb5db57acc0bf ]

Currently, it is possible to enable indirect branch speculation even after
it was force-disabled using the PR_SPEC_FORCE_DISABLE option. Moreover, the
PR_GET_SPECULATION_CTRL command gives afterwards an incorrect result
(force-disabled when it is in fact enabled). This also is inconsistent
vs. STIBP and the documention which cleary states that
PR_SPEC_FORCE_DISABLE cannot be undone.

Fix this by actually enforcing force-disabled indirect branch
speculation. PR_SPEC_ENABLE called after PR_SPEC_FORCE_DISABLE now fails
with -EPERM as described in the documentation.

Fixes: 9137bb27e60e ("x86/speculation: Add prctl() control for indirect branch speculation")
Signed-off-by: Anthony Steinhauser <asteinhauser@google.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-06-20 10:24:10 +02:00
..
mcheck x86/mce/amd: Fix kobject lifetime 2020-02-28 15:42:48 +01:00
microcode x86/microcode: Update the new microcode revision unconditionally 2019-05-14 19:19:33 +02:00
mtrr x86/mtrr: Don't copy uninitialized gentry fields back to userspace 2018-12-29 13:40:15 +01:00
.gitignore
amd.c x86/CPU/AMD: Clear RDRAND CPUID bit on AMD family 15h/16h 2019-09-06 10:19:41 +02:00
bugs.c x86/speculation: PR_SPEC_FORCE_DISABLE enforcement for indirect branches. 2020-06-20 10:24:10 +02:00
centaur.c x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping 2018-02-22 15:43:55 +01:00
common.c x86/speculation: Add Special Register Buffer Data Sampling (SRBDS) mitigation 2020-06-11 09:22:23 +02:00
cpu.h x86/speculation: Add Special Register Buffer Data Sampling (SRBDS) mitigation 2020-06-11 09:22:23 +02:00
cyrix.c x86/CPU: Use correct macros for Cyrix calls 2019-11-25 09:52:46 +01:00
hypervisor.c virt, sched: Add generic vCPU pinning support 2016-09-05 13:52:38 +02:00
intel.c x86/cpu: Add a "tsx=" cmdline option with TSX disabled by default 2019-11-16 10:29:41 +01:00
intel_cacheinfo.c drivers: base: cacheinfo: fix x86 with CONFIG_OF enabled 2018-01-31 12:55:51 +01:00
Makefile x86/cpu: Add a "tsx=" cmdline option with TSX disabled by default 2019-11-16 10:29:41 +01:00
match.c x86/cpu: Add a steppings field to struct x86_cpu_id 2020-06-11 09:22:23 +02:00
mkcapflags.sh x86/build: Add 'set -e' to mkcapflags.sh to delete broken capflags.c 2019-08-04 09:33:22 +02:00
mshyperv.c x86/hyperv: Handle unknown NMIs on one CPU when unknown_nmi_panic 2017-03-22 12:43:36 +01:00
perfctr-watchdog.c x86/kernel: Audit and remove any unnecessary uses of module.h 2016-07-14 15:06:41 +02:00
powerflags.c x86/cpu: Add advanced power management bits 2016-03-29 11:12:11 +02:00
proc.c x86/cpu: Change type of x86_cache_size variable to unsigned int 2018-02-22 15:43:55 +01:00
rdrand.c x86, asm: Use CC_SET()/CC_OUT() and static_cpu_has() in archrandom.h 2016-06-08 12:41:20 -07:00
scattered.c x86/cpufeatures: Add CPUID_7_EDX CPUID leaf 2018-02-13 12:35:58 +01:00
topology.c x86/cpu/topology: Provide detect_extended_topology_early() 2018-08-15 18:14:46 +02:00
transmeta.c Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-15 09:32:27 -07:00
tsx.c x86/cpu: Update cached HLE state on write to TSX_CTRL_CPUID_CLEAR 2020-02-14 16:30:58 -05:00
umc.c
vmware.c x86/vmware: Skip timer_irq_works() check on VMware 2016-10-19 17:36:33 +02:00