[PATCH] Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind()
Michael Kelley (EOSG)
Michael.H.Kelley at microsoft.com
Fri Jul 13 13:59:53 UTC 2018
From: Dexuan Cui Sent: Thursday, July 12, 2018 10:53 PM
>
> Before setting channel->rescind in vmbus_rescind_cleanup(), we should make
> sure the channel callback won't run any more, otherwise a high-level
> driver like pci_hyperv, which may be infinitely waiting for the host VSP's
> response and notices the channel has been rescinded, can't safely give
> up: e.g., in hv_pci_protocol_negotiation() -> wait_for_response(), it's
> unsafe to exit from wait_for_response() and proceed with the on-stack
> variable "comp_pkt" popped. The issue was originally spotted by
> Michael Kelley <mikelley at microsoft.com>.
>
> In vmbus_close_internal(), the patch also minimizes the range protected by
> disabling/enabling channel->callback_event: we don't really need that for
> the whole function.
>
> Signed-off-by: Dexuan Cui <decui at microsoft.com>
> Cc: stable at vger.kernel.org
> Cc: K. Y. Srinivasan <kys at microsoft.com>
> Cc: Stephen Hemminger <sthemmin at microsoft.com>
> Cc: Michael Kelley <mikelley at microsoft.com>
Reviewed-by: Michael Kelley <mikelley at microsoft.com>
More information about the devel
mailing list