diff mbox series

[05/14] KVM: x86: nSVM: don't copy virt_ext from vmcb12

Message ID 20210914154825.104886-6-mlevitsk@redhat.com
State Accepted
Commit faf6b755629627f19feafa75b32e81cd7738f12d
Headers show
Series [01/14] KVM: x86: nSVM: restore int_vector in svm_clear_vintr | expand

Commit Message

Maxim Levitsky Sept. 14, 2021, 3:48 p.m. UTC
These field correspond to features that we don't expose yet to L2

While currently there are no CVE worthy features in this field,
if AMD adds more features to this field, that could allow guest
escapes similar to CVE-2021-3653 and CVE-2021-3656.

Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
---
 arch/x86/kvm/svm/nested.c | 1 -
 1 file changed, 1 deletion(-)

Comments

Paolo Bonzini Sept. 23, 2021, 2:06 p.m. UTC | #1
On 14/09/21 17:48, Maxim Levitsky wrote:
> These field correspond to features that we don't expose yet to L2

> 

> While currently there are no CVE worthy features in this field,

> if AMD adds more features to this field, that could allow guest

> escapes similar to CVE-2021-3653 and CVE-2021-3656.

> 

> Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>

> ---

>   arch/x86/kvm/svm/nested.c | 1 -

>   1 file changed, 1 deletion(-)

> 

> diff --git a/arch/x86/kvm/svm/nested.c b/arch/x86/kvm/svm/nested.c

> index 476e01f98035..4df59d9795b6 100644

> --- a/arch/x86/kvm/svm/nested.c

> +++ b/arch/x86/kvm/svm/nested.c

> @@ -545,7 +545,6 @@ static void nested_vmcb02_prepare_control(struct vcpu_svm *svm)

>   		(svm->nested.ctl.int_ctl & int_ctl_vmcb12_bits) |

>   		(svm->vmcb01.ptr->control.int_ctl & int_ctl_vmcb01_bits);

>   

> -	svm->vmcb->control.virt_ext            = svm->nested.ctl.virt_ext;

>   	svm->vmcb->control.int_vector          = svm->nested.ctl.int_vector;

>   	svm->vmcb->control.int_state           = svm->nested.ctl.int_state;

>   	svm->vmcb->control.event_inj           = svm->nested.ctl.event_inj;

> 


Queued, thanks.

Paolo
diff mbox series

Patch

diff --git a/arch/x86/kvm/svm/nested.c b/arch/x86/kvm/svm/nested.c
index 476e01f98035..4df59d9795b6 100644
--- a/arch/x86/kvm/svm/nested.c
+++ b/arch/x86/kvm/svm/nested.c
@@ -545,7 +545,6 @@  static void nested_vmcb02_prepare_control(struct vcpu_svm *svm)
 		(svm->nested.ctl.int_ctl & int_ctl_vmcb12_bits) |
 		(svm->vmcb01.ptr->control.int_ctl & int_ctl_vmcb01_bits);
 
-	svm->vmcb->control.virt_ext            = svm->nested.ctl.virt_ext;
 	svm->vmcb->control.int_vector          = svm->nested.ctl.int_vector;
 	svm->vmcb->control.int_state           = svm->nested.ctl.int_state;
 	svm->vmcb->control.event_inj           = svm->nested.ctl.event_inj;