lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 065/917] KVM: VMX: Unregister posted interrupt wakeup handler on hardware unsetup
    Date
    From: Sean Christopherson <seanjc@google.com>

    commit ec5a4919fa7b7d8c7a2af1c7e799b1fe4be84343 upstream.

    Unregister KVM's posted interrupt wakeup handler during unsetup so that a
    spurious interrupt that arrives after kvm_intel.ko is unloaded doesn't
    call into freed memory.

    Fixes: bf9f6ac8d749 ("KVM: Update Posted-Interrupts Descriptor when vCPU is blocked")
    Cc: stable@vger.kernel.org
    Signed-off-by: Sean Christopherson <seanjc@google.com>
    Message-Id: <20211009001107.3936588-3-seanjc@google.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    arch/x86/kvm/vmx/vmx.c | 7 +++++--
    1 file changed, 5 insertions(+), 2 deletions(-)

    --- a/arch/x86/kvm/vmx/vmx.c
    +++ b/arch/x86/kvm/vmx/vmx.c
    @@ -7551,6 +7551,8 @@ static void vmx_migrate_timers(struct kv

    static void hardware_unsetup(void)
    {
    + kvm_set_posted_intr_wakeup_handler(NULL);
    +
    if (nested)
    nested_vmx_hardware_unsetup();

    @@ -7879,8 +7881,6 @@ static __init int hardware_setup(void)
    vmx_x86_ops.request_immediate_exit = __kvm_request_immediate_exit;
    }

    - kvm_set_posted_intr_wakeup_handler(pi_wakeup_handler);
    -
    kvm_mce_cap_supported |= MCG_LMCE_P;

    if (pt_mode != PT_MODE_SYSTEM && pt_mode != PT_MODE_HOST_GUEST)
    @@ -7904,6 +7904,9 @@ static __init int hardware_setup(void)
    r = alloc_kvm_area();
    if (r)
    nested_vmx_hardware_unsetup();
    +
    + kvm_set_posted_intr_wakeup_handler(pi_wakeup_handler);
    +
    return r;
    }


    \
     
     \ /
      Last update: 2021-11-16 00:29    [W:4.033 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site