mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
commit 1c1f721375989579e46741f59523e39ec9b2a9bd upstream.
Adding the following warning ...
WARN_ON_ONCE(msk->pm.add_addr_accepted == 0)
... before decrementing the add_addr_accepted counter helped to find a
bug when running the "remove single subflow" subtest from the
mptcp_join.sh selftest.
Removing a 'subflow' endpoint will first trigger a RM_ADDR, then the
subflow closure. Before this patch, and upon the reception of the
RM_ADDR, the other peer will then try to decrement this
add_addr_accepted. That's not correct because the attached subflows have
not been created upon the reception of an ADD_ADDR.
A way to solve that is to decrement the counter only if the attached
subflow was an MP_JOIN to a remote id that was not 0, and initiated by
the host receiving the RM_ADDR.
Fixes:
|
||
---|---|---|
.. | ||
bpf.c | ||
crypto.c | ||
crypto_test.c | ||
ctrl.c | ||
diag.c | ||
fastopen.c | ||
Kconfig | ||
Makefile | ||
mib.c | ||
mib.h | ||
mptcp_diag.c | ||
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 |