alistair23-linux/arch
Sean Christopherson 58e1e7514f KVM: x86: Ensure guest's FPU state is loaded when accessing for emulation
commit a7baead7e3 upstream.

Lock the FPU regs and reload the current thread's FPU state, which holds
the guest's FPU state, to the CPU registers if necessary prior to
accessing guest FPU state as part of emulation.  kernel_fpu_begin() can
be called from softirq context, therefore KVM must ensure softirqs are
disabled (locking the FPU regs disables softirqs) when touching CPU FPU
state.

Note, for all intents and purposes this reverts commit 6ab0b9feb8
("x86,kvm: remove KVM emulator get_fpu / put_fpu"), but at the time it
was applied, removing get/put_fpu() was correct.  The re-introduction
of {get,put}_fpu() is necessitated by the deferring of FPU state load.

Fixes: 5f409e20b7 ("x86/fpu: Defer FPU state load until return to userspace")
Cc: stable@vger.kernel.org
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-02-11 04:35:41 -08:00
..
alpha
arc arc: eznps: fix allmodconfig kconfig warning 2020-02-01 09:34:40 +00:00
arm ARM: tegra: Enable PLLP bypass during Tegra124 LP1 2020-02-11 04:35:34 -08:00
arm64 crypto: arm64/ghash-neon - bump priority to 150 2020-02-11 04:35:31 -08:00
c6x
csky
h8300
hexagon hexagon: work around compiler crash 2020-01-17 19:49:07 +01:00
ia64 mm/memory_hotplug: shrink zones when offlining memory 2020-01-09 10:19:56 +01:00
m68k
microblaze
mips MIPS: boot: fix typo in 'vmlinux.lzma.its' target 2020-02-11 04:35:17 -08:00
nds32 asm-generic/nds32: don't redefine cacheflush primitives 2020-01-17 19:48:43 +01:00
nios2
openrisc
parisc parisc: Use proper printk format for resource_size_t 2020-02-05 21:22:46 +00:00
powerpc KVM: PPC: Book3S PR: Free shared page if mmu initialization fails 2020-02-11 04:35:39 -08:00
riscv riscv, bpf: Fix broken BPF tail calls 2020-02-11 04:35:28 -08:00
s390 s390/mm: fix dynamic pagetable upgrade for hugetlbfs 2020-02-11 04:35:17 -08:00
sh mm/memory_hotplug: shrink zones when offlining memory 2020-01-09 10:19:56 +01:00
sparc sparc32: fix struct ipc64_perm type definition 2020-02-11 04:35:03 -08:00
um Revert "um: Enable CONFIG_CONSTRUCTORS" 2020-02-01 09:34:53 +00:00
unicore32
x86 KVM: x86: Ensure guest's FPU state is loaded when accessing for emulation 2020-02-11 04:35:41 -08:00
xtensa xtensa: Implement copy_thread_tls 2020-01-14 20:08:35 +01:00
.gitignore
Kconfig