mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-21 10:01:00 +00:00
013e3179db
mptcp_rcv_space_init() is supposed to happen under the msk socket
lock, but active msk socket does that without such protection.
Leverage the existing mptcp_propagate_state() helper to that extent.
We need to ensure mptcp_rcv_space_init will happen before
mptcp_rcv_space_adjust(), and the release_cb does not assure that:
explicitly check for such condition.
While at it, move the wnd_end initialization out of mptcp_rcv_space_init(),
it never belonged there.
Note that the race does not produce ill effect in practice, but
change allows cleaning-up and defying better the locking model.
Fixes:
|
||
---|---|---|
.. | ||
bpf.c | ||
crypto.c | ||
crypto_test.c | ||
ctrl.c | ||
diag.c | ||
fastopen.c | ||
Kconfig | ||
Makefile | ||
mib.c | ||
mib.h | ||
mptcp_diag.c | ||
mptcp_pm_gen.c | ||
mptcp_pm_gen.h | ||
options.c | ||
pm.c | ||
pm_netlink.c | ||
pm_userspace.c | ||
protocol.c | ||
protocol.h | ||
sched.c | ||
sockopt.c | ||
subflow.c | ||
syncookies.c | ||
token.c | ||
token_test.c |