diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2020-05-13 12:57:26 -0400 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2020-06-01 04:24:32 -0400 |
commit | 69c9dfa24bb7bac5c9e2bd4d3f631e35b91e3733 (patch) | |
tree | 8b0a08cbf4bce6840707ddbf717f76d5c716899e /arch/x86/kvm/svm/svm.c | |
parent | df7e0681dd8acfa8d07816eaef232ded816d8a8c (diff) | |
download | lwn-69c9dfa24bb7bac5c9e2bd4d3f631e35b91e3733.tar.gz lwn-69c9dfa24bb7bac5c9e2bd4d3f631e35b91e3733.zip |
KVM: nSVM: move map argument out of enter_svm_guest_mode
Unmapping the nested VMCB in enter_svm_guest_mode is a bit of a wart,
since the map argument is not used elsewhere in the function. There are
just two callers, and those are also the place where kvm_vcpu_map is
called, so it is cleaner to unmap there.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/kvm/svm/svm.c')
-rw-r--r-- | arch/x86/kvm/svm/svm.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index feb96a410f2d..76b3f553815e 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -3814,7 +3814,8 @@ static int svm_pre_leave_smm(struct kvm_vcpu *vcpu, const char *smstate) if (kvm_vcpu_map(&svm->vcpu, gpa_to_gfn(vmcb), &map) == -EINVAL) return 1; nested_vmcb = map.hva; - enter_svm_guest_mode(svm, vmcb, nested_vmcb, &map); + enter_svm_guest_mode(svm, vmcb, nested_vmcb); + kvm_vcpu_unmap(&svm->vcpu, &map, true); } return 0; } |