From: Tianyu Lan <Tianyu.Lan@xxxxxxxxxxxxx> Sent: Tuesday, March 24, 2020 12:57 AM > > 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. > > Signed-off-by: Tianyu Lan <Tianyu.Lan@xxxxxxxxxxxxx> > --- > Change since v1: > - Update change log > - Use xchg() to change vmbus connection status > Change since v2: > - Update comment of registering panic callback. > --- > drivers/hv/channel_mgmt.c | 3 +++ > drivers/hv/vmbus_drv.c | 21 +++++++++++++-------- > 2 files changed, 16 insertions(+), 8 deletions(-) > Reviewed-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>