[PATCH mptcp-net 0/4] mptcp: a few fixes

Paolo Abeni posted 4 patches 3 days, 2 hours ago
Failed in applying to current master (apply log)
There is a newer version of this series
net/mptcp/options.c  |  4 ++--
net/mptcp/protocol.c | 27 ++++++++++++++++-----------
net/mptcp/protocol.h |  1 +
3 files changed, 19 insertions(+), 13 deletions(-)
[PATCH mptcp-net 0/4] mptcp: a few fixes
Posted by Paolo Abeni 3 days, 2 hours ago
This is mostly a follow-up to the recent OoO queue pruning series.
Explicitly targeting net as we have already a lot of patches pending for
net-next, and no need to rush IMHO.

First 2 patches addresses explicit comments from sashiko, 3rd one is a
somewhat unrelated cleanup I stumbled upon while implementing patch 4.

The last patch fixes another thing implided by sashiko while reviewing
the mentioned series.

Paolo Abeni (4):
  mptcp: being below memory limit is a likely() condition
  mptcp: avoid pruning for OoW data
  mptcp: remove unneeded READ_ONCE() annotation
  mptcp: do not reschedule the RTX timer for fallback sockets

 net/mptcp/options.c  |  4 ++--
 net/mptcp/protocol.c | 27 ++++++++++++++++-----------
 net/mptcp/protocol.h |  1 +
 3 files changed, 19 insertions(+), 13 deletions(-)

-- 
2.55.0
Re: [PATCH mptcp-net 0/4] mptcp: a few fixes
Posted by Matthieu Baerts 2 days, 22 hours ago
Hi Paolo,

Thank you for the fixes!

12 Aug 2026 19:08:30 Paolo Abeni <pabeni@redhat.com>:

> This is mostly a follow-up to the recent OoO queue pruning series.
> Explicitly targeting net as we have already a lot of patches pending for
> net-next, and no need to rush IMHO.

(I hope it was OK for me to send a few small cleanup patches)

> First 2 patches addresses explicit comments from sashiko, 3rd one is a
> somewhat unrelated cleanup I stumbled upon while implementing patch 4.
>
> The last patch fixes another thing implided by sashiko while reviewing
> the mentioned series.

When reading this, it sounds like there should be 5 patches but only 4
have been shared. Just to be sure: is everything there?

Cheers,
Matt
Re: [PATCH mptcp-net 0/4] mptcp: a few fixes
Posted by Paolo Abeni 2 days, 13 hours ago
On 8/12/26 10:54 PM, Matthieu Baerts wrote:
> 12 Aug 2026 19:08:30 Paolo Abeni <pabeni@redhat.com>:
> 
>> This is mostly a follow-up to the recent OoO queue pruning series.
>> Explicitly targeting net as we have already a lot of patches pending for
>> net-next, and no need to rush IMHO.
> 
> (I hope it was OK for me to send a few small cleanup patches)

ATM I haven't checked yet if you already did... but pw says ~400 patches to
be processed before EoW, I would love if such count is not going to increase:)

>> First 2 patches addresses explicit comments from sashiko, 3rd one is a
>> somewhat unrelated cleanup I stumbled upon while implementing patch 4.
>>
>> The last patch fixes another thing implided by sashiko while reviewing
>> the mentioned series.
> 
> When reading this, it sounds like there should be 5 patches but only 4
> have been shared. Just to be sure: is everything there?
Yes, patch 4 == last patch.

Also patch 4 is the one I think opus 5 could raise some concern on. A safer 
alternative would be replacing it with the following, which is simpler, but I'm
not fancy of adding another conditional.

Staging the series a little bit in the export branch will give some time
to ponder about a better solution.

---
diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
index ca644ec53eed..45d627981f15 100644
--- a/net/mptcp/protocol.c
+++ b/net/mptcp/protocol.c
@@ -995,13 +995,15 @@ static bool mptcp_rtx_timer_pending(struct sock *sk)
 
 static void mptcp_reset_rtx_timer(struct sock *sk)
 {
+	struct mptcp_sock *msk = mptcp_sk(sk);
 	unsigned long tout;
 
 	/* prevent rescheduling on close */
-	if (unlikely(inet_sk_state_load(sk) == TCP_CLOSE))
+	if (unlikely(inet_sk_state_load(sk) == TCP_CLOSE) ||
+	    test_bit(MPTCP_FALLBACK_DONE, msk->flags))
 		return;
 
-	tout = mptcp_sk(sk)->timer_ival;
+	tout = msk->timer_ival;
 	sk_reset_timer(sk, &sk->mptcp_retransmit_timer, jiffies + tout);
 }
Re: [PATCH mptcp-net 0/4] mptcp: a few fixes
Posted by Paolo Abeni 1 day, 8 hours ago
On 8/13/26 8:34 AM, Paolo Abeni wrote:
> Staging the series a little bit in the export branch will give some time
> to ponder about a better solution.
Slightly related, sashiko could not apply the patches. I'll rebase and
re-send them to get such review.

/P
Re: [PATCH mptcp-net 0/4] mptcp: a few fixes
Posted by Matthieu Baerts 2 days, 8 hours ago
Hi Paolo,

On 13/08/2026 08:34, Paolo Abeni wrote:
> On 8/12/26 10:54 PM, Matthieu Baerts wrote:
>> 12 Aug 2026 19:08:30 Paolo Abeni <pabeni@redhat.com>:
>>
>>> This is mostly a follow-up to the recent OoO queue pruning series.
>>> Explicitly targeting net as we have already a lot of patches pending for
>>> net-next, and no need to rush IMHO.
>>
>> (I hope it was OK for me to send a few small cleanup patches)
> 
> ATM I haven't checked yet if you already did... but pw says ~400 patches to
> be processed before EoW, I would love if such count is not going to increase:)

Indeed, I understand.

(If I did, can I say it was my cat walking on the keyboard? 😇 Sorry..)

>>> First 2 patches addresses explicit comments from sashiko, 3rd one is a
>>> somewhat unrelated cleanup I stumbled upon while implementing patch 4.
>>>
>>> The last patch fixes another thing implided by sashiko while reviewing
>>> the mentioned series.
>>
>> When reading this, it sounds like there should be 5 patches but only 4
>> have been shared. Just to be sure: is everything there?
> Yes, patch 4 == last patch.

OK, thanks!

> Also patch 4 is the one I think opus 5 could raise some concern on. A safer 
> alternative would be replacing it with the following, which is simpler, but I'm
> not fancy of adding another conditional.

Thank you!

> Staging the series a little bit in the export branch will give some time
> to ponder about a better solution.

Fine for me!

> ---
> diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
> index ca644ec53eed..45d627981f15 100644
> --- a/net/mptcp/protocol.c
> +++ b/net/mptcp/protocol.c
> @@ -995,13 +995,15 @@ static bool mptcp_rtx_timer_pending(struct sock *sk)
>  
>  static void mptcp_reset_rtx_timer(struct sock *sk)
>  {
> +	struct mptcp_sock *msk = mptcp_sk(sk);
>  	unsigned long tout;
>  
>  	/* prevent rescheduling on close */
> -	if (unlikely(inet_sk_state_load(sk) == TCP_CLOSE))
> +	if (unlikely(inet_sk_state_load(sk) == TCP_CLOSE) ||
> +	    test_bit(MPTCP_FALLBACK_DONE, msk->flags))
>  		return;
>  
> -	tout = mptcp_sk(sk)->timer_ival;
> +	tout = msk->timer_ival;
>  	sk_reset_timer(sk, &sk->mptcp_retransmit_timer, jiffies + tout);
>  }

Cheers,
Matt
-- 
Sponsored by the NGI0 Core fund.