FAILED: patch "[PATCH] mptcp: pm: re-using ID of unused flushed subflows" failed to apply to 5.10-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 5.10-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 <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.10.y
git checkout FETCH_HEAD
git cherry-pick -x ef34a6ea0cab1800f4b3c9c3c2cefd5091e03379
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2024082631-emerald-impotence-a278@gregkh' --subject-prefix 'PATCH 5.10.y' HEAD^..
Possible dependencies:
ef34a6ea0cab ("mptcp: pm: re-using ID of unused flushed subflows") 06faa2271034 ("mptcp: remove multi addresses and subflows in PM") 141694df6573 ("mptcp: remove address when netlink flushes addrs")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From ef34a6ea0cab1800f4b3c9c3c2cefd5091e03379 Mon Sep 17 00:00:00 2001
From: "Matthieu Baerts (NGI0)" <[email protected]>
Date: Mon, 19 Aug 2024 21:45:23 +0200
Subject: [PATCH] mptcp: pm: re-using ID of unused flushed subflows
If no subflows are attached to the 'subflow' endpoints that are being flushed, the corresponding addr IDs will not be marked as available again.
Mark all ID as being available when flushing all the 'subflow' endpoints, and reset local_addr_used counter to cover these cases.
Note that mptcp_pm_remove_addrs_and_subflows() helper is only called for flushing operations, not to remove a specific set of addresses and subflows.
net/mptcp/pm_netlink.c +7 -0
@@ -1623,8 +1623,15 @@ static void mptcp_pm_remove_addrs_and_subflows(struct mptcp_sock *msk,mptcp_pm_remove_addr (msk, &alist);spin_unlock_bh (&msk->pm.lock); } +if (slist.nr)mptcp_pm_remove_subflow (msk, &slist); + +/* Reset counters: maybe some subflows have been removed before */ +spin_lock_bh (&msk->pm.lock); +bitmap_fill (msk->pm.id_avail_bitmap,MPTCP_PM_MAX_ADDR_ID +1 ); + msk->pm.local_addr_used =0 ; +spin_unlock_bh (&msk->pm.lock); } static void mptcp_nl_remove_addrs_list(struct net *net,
Matthieu Baerts
maintainerHi Greg,
Quoted 5 lines · On 26/08/2024 14:04, [email protected] wrote:
The patch below does not apply to the 5.10-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 <[email protected]>.
Thank you for the notification!
(...)
Quoted 11 lines
------------------ original commit in Linus's tree ------------------
From
ef34a6ea0cab1800f4b3c9c3c2cefd5091e03379Mon Sep 17 00:00:00 2001
From: "Matthieu Baerts (NGI0)" <[email protected]>
Date: Mon, 19 Aug 2024 21:45:23 +0200
Subject: [PATCH] mptcp: pm: re-using ID of unused flushed subflowsIf no subflows are attached to the 'subflow' endpoints that are being flushed, the corresponding addr IDs will not be marked as available again.
Quoted 8 lines
Mark all ID as being available when flushing all the 'subflow' endpoints, and reset
local_addr_usedcounter to cover these cases.Note that
mptcp_pm_remove_addrs_and_subflows()helper is only called for flushing operations, not to remove a specific set of addresses and subflows.Fixes 06faa2271034 ("mptcp: remove multi addresses and subflows in PM")
The code is too different in v5.10, and I don't think it is worth it to have this small fix in v5.10.
Cheers,
Matt
Signature · 1 line
Sponsored by the NGI0 Core fund.