mptcp: pm: ADD_ADDR rtx: fix potential data-race
authorMatthieu Baerts (NGI0) <matttbe@kernel.org>
Tue, 5 May 2026 15:00:51 +0000 (17:00 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 7 May 2026 01:16:44 +0000 (18:16 -0700)
commit5cd6e0ad79d2615264f63929f8b457ad97ae550d
tree2377b3a62992b0e5e779e012e8f7f893090931f6
parent03f324f3f1f7619a47b9c91282cb12775ab0a2f1
mptcp: pm: ADD_ADDR rtx: fix potential data-race

This mptcp_pm_add_timer() helper is executed as a timer callback in
softirq context. To avoid any data races, the socket lock needs to be
held with bh_lock_sock().

If the socket is in use, retry again soon after, similar to what is done
with the keepalive timer.

Fixes: 00cfd77b9063 ("mptcp: retransmit ADD_ADDR when timeout")
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/20260505-net-mptcp-pm-fixes-7-1-rc3-v1-3-fca8091060a4@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/mptcp/pm.c