]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
Drivers: hv: vmbus: Fix rescind handling issues
authorK. Y. Srinivasan <kys@microsoft.com>
Fri, 11 Aug 2017 17:03:59 +0000 (10:03 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 21 Oct 2017 15:55:06 +0000 (17:55 +0200)
commit6b32d45bd59982751beb8220e442b40b2706647f
treec2c5ba2f4185bc236e57ce00fca4ee7258600c58
parent53d1c2535ce014ceea27c5c34739e32dec2cc6d9
Drivers: hv: vmbus: Fix rescind handling issues

commit 6f3d791f300618caf82a2be0c27456edd76d5164 upstream.

This patch handles the following issues that were observed when we are
handling racing channel offer message and rescind message for the same
offer:

1. Since the host does not respond to messages on a rescinded channel,
in the current code, we could be indefinitely blocked on the vmbus_open() call.

2. When a rescinded channel is being closed, if there is a pending interrupt on the
channel, we could end up freeing the channel that the interrupt handler would run on.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Dexuan Cui <decui@microsoft.com>
Tested-by: Dexuan Cui <decui@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/hv/channel.c
drivers/hv/channel_mgmt.c
drivers/hv/vmbus_drv.c
include/linux/hyperv.h