diff options
author | Paolo Abeni | 2020-12-09 12:03:31 +0100 |
---|---|---|
committer | David S. Miller | 2020-12-09 19:31:58 -0800 |
commit | d7b1bfd0832c1d005f571203306b6c50e9805150 (patch) | |
tree | 4835210f79ccb092abb8aff17daecae4f21acd38 /net/6lowpan/core.c | |
parent | 0597d0f8e030d1a5e64708b0f3233209a8b5d39e (diff) |
mptcp: be careful on subflows shutdown
When the workqueue disposes of the msk, the subflows can still
receive some data from the peer after __mptcp_close_ssk()
completes.
The above could trigger a race between the msk receive path and the
msk destruction. Acquiring the mptcp_data_lock() in __mptcp_destroy_sock()
will not save the day: the rx path could be reached even after msk
destruction completes.
Instead use the subflow 'disposable' flag to prevent entering
the msk receive path after __mptcp_close_ssk().
Fixes: e16163b6e2b7 ("mptcp: refactor shutdown and close")
Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/6lowpan/core.c')
0 files changed, 0 insertions, 0 deletions