+++ /dev/null
-From 86f7e90ce840aa1db407d3ea6e9b3a52b2ce923c Mon Sep 17 00:00:00 2001
-From: Oliver Upton <oupton@google.com>
-Date: Sat, 29 Feb 2020 11:30:14 -0800
-Subject: KVM: VMX: check descriptor table exits on instruction emulation
-
-From: Oliver Upton <oupton@google.com>
-
-commit 86f7e90ce840aa1db407d3ea6e9b3a52b2ce923c upstream.
-
-KVM emulates UMIP on hardware that doesn't support it by setting the
-'descriptor table exiting' VM-execution control and performing
-instruction emulation. When running nested, this emulation is broken as
-KVM refuses to emulate L2 instructions by default.
-
-Correct this regression by allowing the emulation of descriptor table
-instructions if L1 hasn't requested 'descriptor table exiting'.
-
-Fixes: 07721feee46b ("KVM: nVMX: Don't emulate instructions in guest mode")
-Reported-by: Jan Kiszka <jan.kiszka@web.de>
-Cc: stable@vger.kernel.org
-Cc: Paolo Bonzini <pbonzini@redhat.com>
-Cc: Jim Mattson <jmattson@google.com>
-Signed-off-by: Oliver Upton <oupton@google.com>
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- arch/x86/kvm/vmx.c | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
---- a/arch/x86/kvm/vmx.c
-+++ b/arch/x86/kvm/vmx.c
-@@ -10784,6 +10784,7 @@ static int vmx_check_intercept_io(struct
- else
- intercept = nested_vmx_check_io_bitmaps(vcpu, port, size);
-
-+ /* FIXME: produce nested vmexit and return X86EMUL_INTERCEPTED. */
- return intercept ? X86EMUL_UNHANDLEABLE : X86EMUL_CONTINUE;
- }
-
-@@ -10813,6 +10814,20 @@ static int vmx_check_intercept(struct kv
- case x86_intercept_outs:
- return vmx_check_intercept_io(vcpu, info);
-
-+ case x86_intercept_lgdt:
-+ case x86_intercept_lidt:
-+ case x86_intercept_lldt:
-+ case x86_intercept_ltr:
-+ case x86_intercept_sgdt:
-+ case x86_intercept_sidt:
-+ case x86_intercept_sldt:
-+ case x86_intercept_str:
-+ if (!nested_cpu_has2(vmcs12, SECONDARY_EXEC_DESC))
-+ return X86EMUL_CONTINUE;
-+
-+ /* FIXME: produce nested vmexit and return X86EMUL_INTERCEPTED. */
-+ break;
-+
- /* TODO: check more intercepts... */
- default:
- break;
net-sched-correct-flower-port-blocking.patch
ext4-potential-crash-on-allocation-error-in-ext4_alloc_flex_bg_array.patch
audit-fix-error-handling-in-audit_data_to_entry.patch
-kvm-vmx-check-descriptor-table-exits-on-instruction-emulation.patch
hid-core-fix-off-by-one-memset-in-hid_report_raw_event.patch
hid-core-increase-hid-report-buffer-size-to-8kib.patch
+++ /dev/null
-From 86f7e90ce840aa1db407d3ea6e9b3a52b2ce923c Mon Sep 17 00:00:00 2001
-From: Oliver Upton <oupton@google.com>
-Date: Sat, 29 Feb 2020 11:30:14 -0800
-Subject: KVM: VMX: check descriptor table exits on instruction emulation
-
-From: Oliver Upton <oupton@google.com>
-
-commit 86f7e90ce840aa1db407d3ea6e9b3a52b2ce923c upstream.
-
-KVM emulates UMIP on hardware that doesn't support it by setting the
-'descriptor table exiting' VM-execution control and performing
-instruction emulation. When running nested, this emulation is broken as
-KVM refuses to emulate L2 instructions by default.
-
-Correct this regression by allowing the emulation of descriptor table
-instructions if L1 hasn't requested 'descriptor table exiting'.
-
-Fixes: 07721feee46b ("KVM: nVMX: Don't emulate instructions in guest mode")
-Reported-by: Jan Kiszka <jan.kiszka@web.de>
-Cc: stable@vger.kernel.org
-Cc: Paolo Bonzini <pbonzini@redhat.com>
-Cc: Jim Mattson <jmattson@google.com>
-Signed-off-by: Oliver Upton <oupton@google.com>
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- arch/x86/kvm/vmx.c | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
---- a/arch/x86/kvm/vmx.c
-+++ b/arch/x86/kvm/vmx.c
-@@ -11379,6 +11379,7 @@ static int vmx_check_intercept_io(struct
- else
- intercept = nested_vmx_check_io_bitmaps(vcpu, port, size);
-
-+ /* FIXME: produce nested vmexit and return X86EMUL_INTERCEPTED. */
- return intercept ? X86EMUL_UNHANDLEABLE : X86EMUL_CONTINUE;
- }
-
-@@ -11408,6 +11409,20 @@ static int vmx_check_intercept(struct kv
- case x86_intercept_outs:
- return vmx_check_intercept_io(vcpu, info);
-
-+ case x86_intercept_lgdt:
-+ case x86_intercept_lidt:
-+ case x86_intercept_lldt:
-+ case x86_intercept_ltr:
-+ case x86_intercept_sgdt:
-+ case x86_intercept_sidt:
-+ case x86_intercept_sldt:
-+ case x86_intercept_str:
-+ if (!nested_cpu_has2(vmcs12, SECONDARY_EXEC_DESC))
-+ return X86EMUL_CONTINUE;
-+
-+ /* FIXME: produce nested vmexit and return X86EMUL_INTERCEPTED. */
-+ break;
-+
- /* TODO: check more intercepts... */
- default:
- break;
audit-fix-error-handling-in-audit_data_to_entry.patch
acpica-introduce-acpi_access_byte_width-macro.patch
acpi-watchdog-fix-gas-access_width-usage.patch
-kvm-vmx-check-descriptor-table-exits-on-instruction-emulation.patch
hid-core-fix-off-by-one-memset-in-hid_report_raw_event.patch
hid-core-increase-hid-report-buffer-size-to-8kib.patch