Hi Greg, On 26/08/2024 14:06, gregkh@xxxxxxxxxxxxxxxxxxx wrote: > > The patch below does not apply to the 5.15-stable tree. > If someone wants it applied there, or to any other stable or longterm > tree, then please email the backport, including the original git commit > id to <stable@xxxxxxxxxxxxxxx>. Thank you for the notification! (...) > ------------------ original commit in Linus's tree ------------------ > > From 322ea3778965da72862cca2a0c50253aacf65fe6 Mon Sep 17 00:00:00 2001 > From: "Matthieu Baerts (NGI0)" <matttbe@xxxxxxxxxx> > Date: Mon, 19 Aug 2024 21:45:26 +0200 > Subject: [PATCH] mptcp: pm: only mark 'subflow' endp as available > > Adding the following warning ... > > WARN_ON_ONCE(msk->pm.local_addr_used == 0) > > ... before decrementing the local_addr_used counter helped to find a bug > when running the "remove single address" subtest from the mptcp_join.sh > selftests. > > Removing a 'signal' endpoint will trigger the removal of all subflows > linked to this endpoint via mptcp_pm_nl_rm_addr_or_subflow() with > rm_type == MPTCP_MIB_RMSUBFLOW. This will decrement the local_addr_used > counter, which is wrong in this case because this counter is linked to > 'subflow' endpoints, and here it is a 'signal' endpoint that is being > removed. > > Now, the counter is decremented, only if the ID is being used outside > of mptcp_pm_nl_rm_addr_or_subflow(), only for 'subflow' endpoints, and > if the ID is not 0 -- local_addr_used is not taking into account these > ones. This marking of the ID as being available, and the decrement is > done no matter if a subflow using this ID is currently available, > because the subflow could have been closed before. > > Fixes: 06faa2271034 ("mptcp: remove multi addresses and subflows in PM") Similar to my previous message linked to the backport of "mptcp: pm: re-using ID of unused removed ADD_ADDR" where this patch depends on 86e39e04482b ("mptcp: keep track of local endpoint still available for each msk"), I don't think we need to backport this patch to v5.15. Cheers, Matt -- Sponsored by the NGI0 Core fund.