Message ID | 20240819-net-mptcp-pm-reusing-id-v1-1-38035d40de5b@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | e255683c06df572ead96db5efb5d21be30c0efaa |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | mptcp: pm: fix IDs not being reusable | expand |
diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 4cae2aa7be5c..26f0329e16bb 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1431,7 +1431,10 @@ static bool mptcp_pm_remove_anno_addr(struct mptcp_sock *msk, ret = remove_anno_list_by_saddr(msk, addr); if (ret || force) { spin_lock_bh(&msk->pm.lock); - msk->pm.add_addr_signaled -= ret; + if (ret) { + __set_bit(addr->id, msk->pm.id_avail_bitmap); + msk->pm.add_addr_signaled--; + } mptcp_pm_remove_addr(msk, &list); spin_unlock_bh(&msk->pm.lock); }