]> www.infradead.org Git - users/jedix/linux-maple.git/commit
x86/KVM/VMX: Don't set l1tf_flush_l1d from vmx_handle_external_intr()
authorNicolai Stange <nstange@suse.de>
Sun, 22 Jul 2018 11:38:18 +0000 (13:38 +0200)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Sat, 11 Aug 2018 00:44:51 +0000 (20:44 -0400)
commite75a84de1952c811d13bb4320b7ee5da9a8d7739
treeb6e41ae6994ccf80bef246123a98fa489c74d177
parenta734e913fb5c0573c33e3bf95159b60dd798e17e
x86/KVM/VMX: Don't set l1tf_flush_l1d from vmx_handle_external_intr()

For VMEXITs caused by external interrupts, vmx_handle_external_intr()
indirectly calls into the interrupt handlers through the host's IDT.

It follows that these interrupts get accounted for in the
kvm_cpu_l1tf_flush_l1d per-cpu flag.

The subsequently executed vmx_l1d_flush() will thus be aware that some
interrupts have happened and conduct a L1d flush anyway.

Setting l1tf_flush_l1d from vmx_handle_external_intr() isn't needed
anymore. Drop it.

Signed-off-by: Nicolai Stange <nstange@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Orabug: 28220674
CVE: CVE-2018-3646

(cherry picked from commit 18b57ce2eb8c8b9a24174a89250cf5f57c76ecdc)

Signed-off-by: Mihai Carabas <mihai.carabas@oracle.com>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Conflicts:
arch/x86/kvm/vmx.c
Contextual: different content
arch/x86/kvm/vmx.c