Skip to content
  • Tianyu Lan's avatar
    x86/Hyper-V: Unload vmbus channel in hv panic callback · 74347a99
    Tianyu Lan authored
    When kdump is not configured, a Hyper-V VM might still respond to
    network traffic after a kernel panic when kernel parameter panic=0.
    The panic CPU goes into an infinite loop with interrupts enabled,
    and the VMbus driver interrupt handler still works because the
    VMbus connection is unloaded only in the kdump path.  The network
    responses make the other end of the connection think the VM is
    still functional even though it has panic'ed, which could affect any
    failover actions that should be taken.
    
    Fix this by unloading the VMbus connection during the panic process.
    vmbus_initiate_unload() could then be called twice (e.g., by
    hyperv_panic_event() and hv_crash_handler(), so reset the connection
    state in vmbus_initiate_unload() to ensure the unload is done only
    once.
    
    Fixes: 81b18bce
    
     ("Drivers: HV: Send one page worth of kmsg dump over Hyper-V during panic")
    Reviewed-by: default avatarMichael Kelley <mikelley@microsoft.com>
    Signed-off-by: default avatarTianyu Lan <Tianyu.Lan@microsoft.com>
    Link: https://lore.kernel.org/r/20200406155331.2105-2-Tianyu.Lan@microsoft.com
    
    
    Signed-off-by: default avatarWei Liu <wei.liu@kernel.org>
    74347a99