Skip to contentSkip to conversation

FAILED: patch "[PATCH] KVM: nVMX: Fix consistency check on injected exception error" failed to apply to 5.3-stable tree

PATCH [email protected] 2 participants 3 messages Oct 8, 2019 – Oct 9, 2019

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 5.3-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 567926cca99ba1750be8aae9c4178796bf9bb90b Mon Sep 17 00:00:00 2001
From: Sean Christopherson <[email protected]>
Date: Tue, 1 Oct 2019 09:21:23 -0700
Subject: [PATCH] KVM: nVMX: Fix consistency check on injected exception error
code

Current versions of Intel's SDM incorrectly state that "bits 31:15 of the VM-Entry exception error-code field" must be zero. In reality, bits 31:16 must be zero, i.e. error codes are 16-bit values.

The bogus error code check manifests as an unexpected VM-Entry failure due to an invalid code field (error number 7) in L1, e.g. when injecting a #GP with error_code=0x9f00.

Nadav previously reported the bug[*], both to KVM and Intel, and fixed the associated kvm-unit-test.

[*] https://patchwork.kernel.org/patch/11124749/

arch/x86/kvm/vmx/nested.c +1 -1
index 41abc62c9a8a..e76eb4f07f6c 100644
@@ -2610,7 +2610,7 @@ static int nested_check_vm_entry_controls(struct kvm_vcpu *vcpu,
 
 		/* VM-entry exception error code */
 		if (CC(has_error_code &&
-		       vmcs12->vm_entry_exception_error_code & GENMASK(31, 15)))
+		       vmcs12->vm_entry_exception_error_code & GENMASK(31, 16)))
 			return -EINVAL;
 
 		/* VM-entry interruption-info field: reserved bits */
maintainer
#1 lore raw
Quoted 29 lines · On Tue, Oct 08, 2019 at 09:21:51AM +0200, [email protected] wrote:

The patch below does not apply to the 5.3-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 567926cca99ba1750be8aae9c4178796bf9bb90b Mon Sep 17 00:00:00 2001
From: Sean Christopherson <[email protected]>
Date: Tue, 1 Oct 2019 09:21:23 -0700
Subject: [PATCH] KVM: nVMX: Fix consistency check on injected exception error code

Current versions of Intel's SDM incorrectly state that "bits 31:15 of the VM-Entry exception error-code field" must be zero. In reality, bits 31:16 must be zero, i.e. error codes are 16-bit values.

The bogus error code check manifests as an unexpected VM-Entry failure due to an invalid code field (error number 7) in L1, e.g. when injecting a #GP with error_code=0x9f00.

Nadav previously reported the bug[*], both to KVM and Intel, and fixed the associated kvm-unit-test.

Quoted 7 lines

[*] https://patchwork.kernel.org/patch/11124749/

There were minor conflicts due to missing tracepoint in 5.3 and code movement in 4.19. I've fixed it up.

Signature · 2 lines
Thanks,
Sasha
author maintainer
#2 lore raw
Quoted 32 lines · Sasha Levin
Quoted 31 lines · On Tue, Oct 08, 2019 at 09:21:51AM +0200, [email protected] wrote:

The patch below does not apply to the 5.3-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

Quoted 1 line

From 567926cca99ba1750be8aae9c4178796bf9bb90b Mon Sep 17 00:00:00 2001

From: Sean Christopherson <[email protected]>
Date: Tue, 1 Oct 2019 09:21:23 -0700
Subject: [PATCH] KVM: nVMX: Fix consistency check on injected exception error code

Current versions of Intel's SDM incorrectly state that "bits 31:15 of the VM-Entry exception error-code field" must be zero. In reality, bits 31:16 must be zero, i.e. error codes are 16-bit values.

The bogus error code check manifests as an unexpected VM-Entry failure due to an invalid code field (error number 7) in L1, e.g. when injecting a #GP with error_code=0x9f00.

Nadav previously reported the bug[*], both to KVM and Intel, and fixed the associated kvm-unit-test.

[*] https://patchwork.kernel.org/patch/11124749/

Quoted 8 lines
Quoted 5 lines

There were minor conflicts due to missing tracepoint in 5.3 and code movement in 4.19. I've fixed it up.

Thanks for fixing these, and all of the other FAILED: issues.

thanks,

greg k-h