diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 651f2c158637..d78ef96a88cc 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -757,8 +757,11 @@ static void mptcp_pm_nl_rm_addr_or_subflow(struct mptcp_sock *msk, removed = true; msk->pm.subflows--; - __MPTCP_INC_STATS(sock_net(sk), rm_type); + if (rm_type == MPTCP_MIB_RMSUBFLOW) + __MPTCP_INC_STATS(sock_net(sk), rm_type); } + if (rm_type == MPTCP_MIB_RMADDR) + __MPTCP_INC_STATS(sock_net(sk), rm_type); if (!removed) continue; diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh index a68048f1fc5a..3cf4f9f05956 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -1307,7 +1307,8 @@ remove_tests() ip netns exec $ns1 ./pm_nl_ctl limits 3 3 ip netns exec $ns1 ./pm_nl_ctl add 10.0.12.1 flags signal ip netns exec $ns1 ./pm_nl_ctl add 10.0.3.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl add 10.0.14.1 flags signal + # broadcast IP: no packet for this address will be received on ns1 + ip netns exec $ns1 ./pm_nl_ctl add 224.0.0.1 flags signal ip netns exec $ns2 ./pm_nl_ctl limits 3 3 run_tests $ns1 $ns2 10.0.1.1 0 -3 0 slow chk_join_nr "remove invalid addresses" 1 1 1