mirror of https://gitee.com/openkylin/linux.git
d7b1bfd083
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:
|
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
crypto.c | ||
crypto_test.c | ||
ctrl.c | ||
diag.c | ||
mib.c | ||
mib.h | ||
mptcp_diag.c | ||
options.c | ||
pm.c | ||
pm_netlink.c | ||
protocol.c | ||
protocol.h | ||
subflow.c | ||
syncookies.c | ||
token.c | ||
token_test.c |