android_kernel_samsung_a7y1.../arch
Vineela Tummalapalli 4c326379c5 x86/bugs: Add ITLB_MULTIHIT bug infrastructure
commit db4d30fbb71b47e4ecb11c4efa5d8aad4b03dfae upstream.

Some processors may incur a machine check error possibly resulting in an
unrecoverable CPU lockup when an instruction fetch encounters a TLB
multi-hit in the instruction TLB. This can occur when the page size is
changed along with either the physical address or cache type. The relevant
erratum can be found here:

   https://bugzilla.kernel.org/show_bug.cgi?id=205195

There are other processors affected for which the erratum does not fully
disclose the impact.

This issue affects both bare-metal x86 page tables and EPT.

It can be mitigated by either eliminating the use of large pages or by
using careful TLB invalidations when changing the page size in the page
tables.

Just like Spectre, Meltdown, L1TF and MDS, a new bit has been allocated in
MSR_IA32_ARCH_CAPABILITIES (PSCHANGE_MC_NO) and will be set on CPUs which
are mitigated against this issue.

Signed-off-by: Vineela Tummalapalli <vineela.tummalapalli@intel.com>
Co-developed-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
[bwh: Backported to 4.4:
 - No support for X86_VENDOR_HYGON, ATOM_AIRMONT_NP
 - Adjust context, indentation]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-04-07 12:00:26 +02:00
..
alpha
arc ARC: export "abort" for modules 2020-04-06 21:37:11 +02:00
arm ARM: fix the cockup in the previous patch 2020-04-07 09:57:52 +02:00
arm64 arch:arm64:mm: fix errors 2020-04-07 11:52:03 +05:30
avr32
blackfin
c6x
cris
frv
h8300 h8300: use cc-cross-prefix instead of hardcoding h8300-unknown-linux- 2020-04-06 14:21:05 +02:00
hexagon
ia64 ia64:unwind: fix double free for mod->arch.init_unw_table 2020-04-07 07:38:19 +02:00
m32r
m68k bug.h: work around GCC PR82365 in BUG() 2020-04-06 19:20:52 +02:00
metag
microblaze
mips MIPS: BCM63XX: fix switch core reset on BCM6368 2020-04-07 11:59:41 +02:00
mn10300
nios2
openrisc
parisc parisc: Fix vmap memory leak in ioremap()/iounmap() 2020-04-07 09:26:56 +02:00
powerpc powerpc/boot: Request no dynamic linker for boot wrapper 2020-04-07 11:59:49 +02:00
s390 s390/cmm: fix information leak in cmm_timeout_handler() 2020-04-07 09:28:26 +02:00
score
sh sh: kernel: hw_breakpoint: Fix missing break in switch statement 2020-04-06 20:39:52 +02:00
sparc bug.h: work around GCC PR82365 in BUG() 2020-04-06 19:20:52 +02:00
tile
um um: Silence lockdep complaint about mmap_sem 2020-04-06 20:06:20 +02:00
unicore32
x86 x86/bugs: Add ITLB_MULTIHIT bug infrastructure 2020-04-07 12:00:26 +02:00
xtensa xtensa: drop EXPORT_SYMBOL for outs*/ins* 2020-04-07 09:26:54 +02:00
Kconfig