From: Greg Kroah-Hartman Date: Mon, 2 Mar 2020 19:19:41 +0000 (+0100) Subject: drop kvm-vmx-check-descriptor-table-exits-on-instruction-emulation.patch from 4.9... X-Git-Tag: v4.19.108~63 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=034456af5fc9aad85afe9c2ddd8fd3f465c262ce;p=thirdparty%2Fkernel%2Fstable-queue.git drop kvm-vmx-check-descriptor-table-exits-on-instruction-emulation.patch from 4.9 and 4.4 --- diff --git a/queue-4.4/kvm-vmx-check-descriptor-table-exits-on-instruction-emulation.patch b/queue-4.4/kvm-vmx-check-descriptor-table-exits-on-instruction-emulation.patch deleted file mode 100644 index 917644d379f..00000000000 --- a/queue-4.4/kvm-vmx-check-descriptor-table-exits-on-instruction-emulation.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 86f7e90ce840aa1db407d3ea6e9b3a52b2ce923c Mon Sep 17 00:00:00 2001 -From: Oliver Upton -Date: Sat, 29 Feb 2020 11:30:14 -0800 -Subject: KVM: VMX: check descriptor table exits on instruction emulation - -From: Oliver Upton - -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 -Cc: stable@vger.kernel.org -Cc: Paolo Bonzini -Cc: Jim Mattson -Signed-off-by: Oliver Upton -Signed-off-by: Paolo Bonzini -Signed-off-by: Greg Kroah-Hartman - ---- - 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; diff --git a/queue-4.4/series b/queue-4.4/series index c8fc3fe99d0..c08a1bb083a 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -19,6 +19,5 @@ nfc-pn544-fix-occasional-hw-initialization-failure.patch 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 diff --git a/queue-4.9/kvm-vmx-check-descriptor-table-exits-on-instruction-emulation.patch b/queue-4.9/kvm-vmx-check-descriptor-table-exits-on-instruction-emulation.patch deleted file mode 100644 index ba4aae7ab87..00000000000 --- a/queue-4.9/kvm-vmx-check-descriptor-table-exits-on-instruction-emulation.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 86f7e90ce840aa1db407d3ea6e9b3a52b2ce923c Mon Sep 17 00:00:00 2001 -From: Oliver Upton -Date: Sat, 29 Feb 2020 11:30:14 -0800 -Subject: KVM: VMX: check descriptor table exits on instruction emulation - -From: Oliver Upton - -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 -Cc: stable@vger.kernel.org -Cc: Paolo Bonzini -Cc: Jim Mattson -Signed-off-by: Oliver Upton -Signed-off-by: Paolo Bonzini -Signed-off-by: Greg Kroah-Hartman - ---- - 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; diff --git a/queue-4.9/series b/queue-4.9/series index be1838958d3..8c187f685dd 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -30,6 +30,5 @@ ext4-potential-crash-on-allocation-error-in-ext4_alloc_flex_bg_array.patch 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