| From foo@baz Tue Aug 14 16:14:56 CEST 2018 |
| From: Nicolai Stange <nstange@suse.de> |
| Date: Sun, 22 Jul 2018 13:38:18 +0200 |
| Subject: x86/KVM/VMX: Don't set l1tf_flush_l1d from vmx_handle_external_intr() |
| |
| From: Nicolai Stange <nstange@suse.de> |
| |
| commit 18b57ce2eb8c8b9a24174a89250cf5f57c76ecdc upstream |
| |
| 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> |
| Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| arch/x86/kvm/vmx.c | 1 - |
| 1 file changed, 1 deletion(-) |
| |
| --- a/arch/x86/kvm/vmx.c |
| +++ b/arch/x86/kvm/vmx.c |
| @@ -8929,7 +8929,6 @@ static void vmx_handle_external_intr(str |
| [ss]"i"(__KERNEL_DS), |
| [cs]"i"(__KERNEL_CS) |
| ); |
| - vcpu->arch.l1tf_flush_l1d = true; |
| } |
| } |
| STACK_FRAME_NON_STANDARD(vmx_handle_external_intr); |