mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 02:24:24 +02:00
KVM: VMX: Don't register posted interrupt wakeup handler if alloc_kvm_area() fails
Unregistering the posted interrupt wakeup handler only happens during
hardware unsetup. Therefore, if alloc_kvm_area() fails and continue to
register the posted interrupt wakeup handler, this will leave the global
posted interrupt wakeup handler pointer in an incorrect state. Although
it should not be an issue, it's still better to change it.
Signed-off-by: Hou Wenlong <houwenlong.hwl@antgroup.com>
Fixes: ec5a4919fa ("KVM: VMX: Unregister posted interrupt wakeup handler on hardware unsetup")
Link: https://patch.msgid.link/0ac6908b608cf80eab7437004334fedd0f5f5317.1768304590.git.houwenlong.hwl@antgroup.com
[sean: use a goto]
Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
parent
ff8071eb3a
commit
6c8512a5b7
|
|
@ -8708,8 +8708,8 @@ __init int vmx_hardware_setup(void)
|
|||
}
|
||||
|
||||
r = alloc_kvm_area();
|
||||
if (r && nested)
|
||||
nested_vmx_hardware_unsetup();
|
||||
if (r)
|
||||
goto err_kvm_area;
|
||||
|
||||
kvm_set_posted_intr_wakeup_handler(pi_wakeup_handler);
|
||||
|
||||
|
|
@ -8736,6 +8736,11 @@ __init int vmx_hardware_setup(void)
|
|||
|
||||
kvm_caps.inapplicable_quirks &= ~KVM_X86_QUIRK_IGNORE_GUEST_PAT;
|
||||
|
||||
return 0;
|
||||
|
||||
err_kvm_area:
|
||||
if (nested)
|
||||
nested_vmx_hardware_unsetup();
|
||||
return r;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user