linux/arch/x86
Paolo Bonzini 234a2dee1b KVM: x86: work around leak of uninitialized stack contents (CVE-2019-7222)
commit 353c0956a6 upstream.

Bugzilla: 1671930

Emulation of certain instructions (VMXON, VMCLEAR, VMPTRLD, VMWRITE with
memory operand, INVEPT, INVVPID) can incorrectly inject a page fault
when passed an operand that points to an MMIO address.  The page fault
will use uninitialized kernel stack memory as the CR2 and error code.

The right behavior would be to abort the VM with a KVM_EXIT_INTERNAL_ERROR
exit to userspace; however, it is not an easy fix, so for now just
ensure that the error code and CR2 are zero.

Embargoed until Feb 7th 2019.

Reported-by: Felix Wilhelm <fwilhelm@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2019-03-25 17:32:36 +00:00
..
boot x86/boot: eboot.c: Include string function declarations 2019-02-11 17:53:13 +00:00
configs USB: remove CONFIG_USB_DEBUG from defconfig files 2014-05-28 09:40:45 -07:00
crypto crypto: x86/cast5-avx - fix ECB encryption when long sg follows short one 2018-10-21 08:44:52 +01:00
ia32 x86/syscall: Sanitize syscall table de-references under speculation 2018-03-19 18:59:13 +00:00
include kvm: x86: Add AMD's EX_CFG to the list of ignored MSRs 2019-02-11 17:54:28 +00:00
kernel x86/mtrr: Don't copy uninitialized gentry fields back to userspace 2019-02-11 17:54:28 +00:00
kvm KVM: x86: work around leak of uninitialized stack contents (CVE-2019-7222) 2019-03-25 17:32:36 +00:00
lguest asmlinkage, x86: Add explicit __visible to arch/x86/* 2014-05-05 16:07:44 -07:00
lib x86/uaccess: Use __uaccess_begin_nospec() and uaccess_try_nospec 2018-03-19 18:59:17 +00:00
math-emu x86/ldt: Further fix FPU emulation 2015-09-03 13:29:55 +01:00
mm x86/mm: Use WRITE_ONCE() when setting PTEs 2018-12-16 22:09:14 +00:00
net bpf, x64: fix memleak when not converging after image 2018-10-21 08:45:51 +01:00
oprofile x86/oprofile: Fix bogus GCC-8 warning in nmi_setup() 2018-06-16 22:22:23 +01:00
pci x86/PCI: Make broadcom_postcore_init() check acpi_disabled 2018-03-03 15:51:45 +00:00
platform x86/platform/uv: Include clocksource.h for clocksource_touch_watchdog() 2018-02-13 18:42:35 +00:00
power x86/power/64: Fix kernel text mapping corruption during image restoration 2016-08-22 22:38:25 +01:00
realmode x86/build: Supress realmode.bin is up to date message 2014-04-16 15:17:24 +02:00
syscalls seccomp: add "seccomp" syscall 2018-09-25 23:47:34 +01:00
tools x86/tools: Fix gcc-7 warning in relocs.c 2018-10-03 04:10:07 +01:00
um um: Drop own definition of PTRACE_SYSEMU/_SINGLESTEP 2019-02-11 17:53:43 +00:00
vdso x86/vdso: Fix vDSO syscall fallback asm constraint regression 2019-02-11 17:54:31 +00:00
video x86: Use vga_default_device() when determining whether an fb is primary 2012-04-24 09:50:17 +01:00
xen tracing/x86/xen: Remove zero data size trace events trace_xen_mmu_flush_tlb{_all} 2018-10-21 08:46:06 +01:00
.gitignore x86/kprobes: Add arch/x86/tools/insn_sanity to .gitignore 2012-01-16 08:21:59 +01:00
Kbuild x86, realmode: realmode.bin infrastructure 2012-05-08 11:41:48 -07:00
Kconfig x86/retpoline: Add initial retpoline support 2018-03-19 18:59:06 +00:00
Kconfig.cpu Merge branch 'x86-nuke-platforms-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-04-02 13:15:58 -07:00
Kconfig.debug x86/efi: Dump the EFI page table 2014-03-04 16:17:17 +00:00
Makefile x86/retpoline: Remove compile time warning 2018-03-19 18:59:08 +00:00
Makefile.um um: fix linker script generation 2012-04-09 13:59:00 -04:00
Makefile_32.cpu x86, 386 removal: Remove CONFIG_M386 from Kconfig 2012-11-29 13:23:01 -08:00