diff options
author | Dexuan Cui <[email protected]> | 2018-08-02 03:08:23 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <[email protected]> | 2018-08-02 10:20:59 +0200 |
commit | d3b26dd7cb0e3433bfd3c1d4dcf74c6039bb49fb (patch) | |
tree | d6793900dfa4d886d23c1c33c37e9148bd0e12d2 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | 7026a5fd7f2cd36fee5ec40f3652f942700671b7 (diff) |
Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind()
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 <[email protected]>.
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 <[email protected]>
Reviewed-by: Michael Kelley <[email protected]>
Cc: [email protected]
Cc: K. Y. Srinivasan <[email protected]>
Cc: Stephen Hemminger <[email protected]>
Cc: Michael Kelley <[email protected]>
Signed-off-by: K. Y. Srinivasan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions