Commit 6b1ca262 authored by Paolo Bonzini's avatar Paolo Bonzini
Browse files

KVM: x86: clarify leave_smm() return value



The return value of vmx_leave_smm() is unrelated from that of
nested_vmx_enter_non_root_mode().  Check explicitly for success
(which happens to be 0) and return 1 just like everywhere
else in vmx_leave_smm().

Likewise, in svm_leave_smm() return 0/1 instead of the 0/1/-errno
returned by tenter_svm_guest_mode().

Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 3e745694
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -4884,11 +4884,11 @@ static int svm_leave_smm(struct kvm_vcpu *vcpu, const union kvm_smram *smram)
	if (nested_svm_check_cached_vmcb12(vcpu) < 0)
		goto unmap_save;

	ret = enter_svm_guest_mode(vcpu, smram64->svm_guest_vmcb_gpa, vmcb12, false);

	if (ret)
	if (enter_svm_guest_mode(vcpu, smram64->svm_guest_vmcb_gpa,
				 vmcb12, false) != 0)
		goto unmap_save;

	ret = 0;
	svm->nested.nested_run_pending = 1;

unmap_save:
+2 −2
Original line number Diff line number Diff line
@@ -8533,8 +8533,8 @@ int vmx_leave_smm(struct kvm_vcpu *vcpu, const union kvm_smram *smram)
			return 1;

		ret = nested_vmx_enter_non_root_mode(vcpu, false);
		if (ret)
			return ret;
		if (ret != NVMX_VMENTRY_SUCCESS)
			return 1;

		vmx->nested.nested_run_pending = 1;
		vmx->nested.smm.guest_mode = false;