Messages in this thread |  | | From | Michael Kelley <> | Subject | RE: [PATCH V3 1/6] x86/Hyper-V: Unload vmbus channel in hv panic callback | Date | Wed, 25 Mar 2020 18:28:48 +0000 |
| |
From: Tianyu Lan <Tianyu.Lan@microsoft.com> 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@microsoft.com> > --- > 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@microsoft.com>
|  |