aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/vmx/nested.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kvm/vmx/nested.c')
-rw-r--r--arch/x86/kvm/vmx/nested.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c
index ced9fba32598..a3cba321b5c5 100644
--- a/arch/x86/kvm/vmx/nested.c
+++ b/arch/x86/kvm/vmx/nested.c
@@ -4540,6 +4540,7 @@ static int handle_vmread(struct kvm_vcpu *vcpu)
4540 int len; 4540 int len;
4541 gva_t gva = 0; 4541 gva_t gva = 0;
4542 struct vmcs12 *vmcs12; 4542 struct vmcs12 *vmcs12;
4543 struct x86_exception e;
4543 short offset; 4544 short offset;
4544 4545
4545 if (!nested_vmx_check_permission(vcpu)) 4546 if (!nested_vmx_check_permission(vcpu))
@@ -4588,7 +4589,8 @@ static int handle_vmread(struct kvm_vcpu *vcpu)
4588 vmx_instruction_info, true, len, &gva)) 4589 vmx_instruction_info, true, len, &gva))
4589 return 1; 4590 return 1;
4590 /* _system ok, nested_vmx_check_permission has verified cpl=0 */ 4591 /* _system ok, nested_vmx_check_permission has verified cpl=0 */
4591 kvm_write_guest_virt_system(vcpu, gva, &field_value, len, NULL); 4592 if (kvm_write_guest_virt_system(vcpu, gva, &field_value, len, &e))
4593 kvm_inject_page_fault(vcpu, &e);
4592 } 4594 }
4593 4595
4594 return nested_vmx_succeed(vcpu); 4596 return nested_vmx_succeed(vcpu);