mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-08 18:35:20 +02:00
mptcp: pm: re-using ID of unused removed ADD_ADDR
commite255683c06
upstream. If no subflow is attached to the 'signal' endpoint that is being removed, the addr ID will not be marked as available again. Mark the linked ID as available when removing the address entry from the list to cover this case. Fixes:b6c0838086
("mptcp: remove addr and subflow in PM netlink") Cc: stable@vger.kernel.org Reviewed-by: Mat Martineau <martineau@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Link: https://patch.msgid.link/20240819-net-mptcp-pm-reusing-id-v1-1-38035d40de5b@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
cc29c5546c
commit
cb24bdcdec
|
@ -1462,7 +1462,10 @@ static bool mptcp_pm_remove_anno_addr(struct mptcp_sock *msk,
|
||||||
ret = remove_anno_list_by_saddr(msk, addr);
|
ret = remove_anno_list_by_saddr(msk, addr);
|
||||||
if (ret || force) {
|
if (ret || force) {
|
||||||
spin_lock_bh(&msk->pm.lock);
|
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);
|
mptcp_pm_remove_addr(msk, &list);
|
||||||
spin_unlock_bh(&msk->pm.lock);
|
spin_unlock_bh(&msk->pm.lock);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user