mptcp.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* Re: Patch "mptcp: don't send RST for single subflow" has been added to the 5.18-stable tree
       [not found] <20220731024320.3360515-1-sashal@kernel.org>
@ 2022-08-01 12:41 ` Matthieu Baerts
  2022-08-02 20:47   ` Mat Martineau
  0 siblings, 1 reply; 2+ messages in thread
From: Matthieu Baerts @ 2022-08-01 12:41 UTC (permalink / raw)
  To: Mat Martineau; +Cc: MPTCP Upstream

Hi Mat,

(cc: MPTCP ML)

On 31/07/2022 04:43, Sasha Levin wrote:
> This is a note to let you know that I've just added the patch titled
> 
>     mptcp: don't send RST for single subflow
> 
> to the 5.18-stable tree which can be found at:
>     http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> 
> The filename of the patch is:
>      mptcp-don-t-send-rst-for-single-subflow.patch
> and it can be found in the queue-5.18 subdirectory.
> 
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <stable@vger.kernel.org> know about it.

I just noticed the patch below is being backported to v5.18 while it
doesn't have any "Fixes" tag.

It slightly changes the behaviour on v5.18 but I don't think that's an
issue, it could even be seen as a bug-fix for me.

I just double-checked and the selftests are still OK with this patch.

Also OK for you to have it in v5.18?

Cheers,
Matt

> commit 0a782d12ad419f820fbaf1d637a788097014b5b1
> Author: Geliang Tang <geliang.tang@suse.com>
> Date:   Fri Apr 22 14:55:36 2022 -0700
> 
>     mptcp: don't send RST for single subflow
>     
>     [ Upstream commit 1761fed2567807f26fbd53032ff622f55978c7a9 ]
>     
>     When a bad checksum is detected and a single subflow is in use, don't
>     send RST + MP_FAIL, send data_ack + MP_FAIL instead.
>     
>     So invoke tcp_send_active_reset() only when mptcp_has_another_subflow()
>     is true.
>     
>     Signed-off-by: Geliang Tang <geliang.tang@suse.com>
>     Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
>     Signed-off-by: David S. Miller <davem@davemloft.net>
>     Signed-off-by: Sasha Levin <sashal@kernel.org>
> 
> diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c
> index 7919e259175d..ccae50eba664 100644
> --- a/net/mptcp/subflow.c
> +++ b/net/mptcp/subflow.c
> @@ -1221,14 +1221,14 @@ static bool subflow_check_data_avail(struct sock *ssk)
>  	/* RFC 8684 section 3.7. */
>  	if (subflow->send_mp_fail) {
>  		if (mptcp_has_another_subflow(ssk)) {
> +			ssk->sk_err = EBADMSG;
> +			tcp_set_state(ssk, TCP_CLOSE);
> +			subflow->reset_transient = 0;
> +			subflow->reset_reason = MPTCP_RST_EMIDDLEBOX;
> +			tcp_send_active_reset(ssk, GFP_ATOMIC);
>  			while ((skb = skb_peek(&ssk->sk_receive_queue)))
>  				sk_eat_skb(ssk, skb);
>  		}
> -		ssk->sk_err = EBADMSG;
> -		tcp_set_state(ssk, TCP_CLOSE);
> -		subflow->reset_transient = 0;
> -		subflow->reset_reason = MPTCP_RST_EMIDDLEBOX;
> -		tcp_send_active_reset(ssk, GFP_ATOMIC);
>  		WRITE_ONCE(subflow->data_avail, MPTCP_SUBFLOW_NODATA);
>  		return true;
>  	}

-- 
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Patch "mptcp: don't send RST for single subflow" has been added to the 5.18-stable tree
  2022-08-01 12:41 ` Patch "mptcp: don't send RST for single subflow" has been added to the 5.18-stable tree Matthieu Baerts
@ 2022-08-02 20:47   ` Mat Martineau
  0 siblings, 0 replies; 2+ messages in thread
From: Mat Martineau @ 2022-08-02 20:47 UTC (permalink / raw)
  To: Matthieu Baerts; +Cc: MPTCP Upstream

On Mon, 1 Aug 2022, Matthieu Baerts wrote:

> Hi Mat,
>
> (cc: MPTCP ML)
>
> On 31/07/2022 04:43, Sasha Levin wrote:
>> This is a note to let you know that I've just added the patch titled
>>
>>     mptcp: don't send RST for single subflow
>>
>> to the 5.18-stable tree which can be found at:
>>     http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
>>
>> The filename of the patch is:
>>      mptcp-don-t-send-rst-for-single-subflow.patch
>> and it can be found in the queue-5.18 subdirectory.
>>
>> If you, or anyone else, feels it should not be added to the stable tree,
>> please let <stable@vger.kernel.org> know about it.
>
> I just noticed the patch below is being backported to v5.18 while it
> doesn't have any "Fixes" tag.
>
> It slightly changes the behaviour on v5.18 but I don't think that's an
> issue, it could even be seen as a bug-fix for me.
>
> I just double-checked and the selftests are still OK with this patch.
>
> Also OK for you to have it in v5.18?
>

I noticed this too - I'm going to ask Greg to drop it. Without the 
infinite mapping support that follows in the series I think it's better to 
keep the RST behavior.

- Mat

>
>> commit 0a782d12ad419f820fbaf1d637a788097014b5b1
>> Author: Geliang Tang <geliang.tang@suse.com>
>> Date:   Fri Apr 22 14:55:36 2022 -0700
>>
>>     mptcp: don't send RST for single subflow
>>
>>     [ Upstream commit 1761fed2567807f26fbd53032ff622f55978c7a9 ]
>>
>>     When a bad checksum is detected and a single subflow is in use, don't
>>     send RST + MP_FAIL, send data_ack + MP_FAIL instead.
>>
>>     So invoke tcp_send_active_reset() only when mptcp_has_another_subflow()
>>     is true.
>>
>>     Signed-off-by: Geliang Tang <geliang.tang@suse.com>
>>     Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
>>     Signed-off-by: David S. Miller <davem@davemloft.net>
>>     Signed-off-by: Sasha Levin <sashal@kernel.org>
>>
>> diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c
>> index 7919e259175d..ccae50eba664 100644
>> --- a/net/mptcp/subflow.c
>> +++ b/net/mptcp/subflow.c
>> @@ -1221,14 +1221,14 @@ static bool subflow_check_data_avail(struct sock *ssk)
>>  	/* RFC 8684 section 3.7. */
>>  	if (subflow->send_mp_fail) {
>>  		if (mptcp_has_another_subflow(ssk)) {
>> +			ssk->sk_err = EBADMSG;
>> +			tcp_set_state(ssk, TCP_CLOSE);
>> +			subflow->reset_transient = 0;
>> +			subflow->reset_reason = MPTCP_RST_EMIDDLEBOX;
>> +			tcp_send_active_reset(ssk, GFP_ATOMIC);
>>  			while ((skb = skb_peek(&ssk->sk_receive_queue)))
>>  				sk_eat_skb(ssk, skb);
>>  		}
>> -		ssk->sk_err = EBADMSG;
>> -		tcp_set_state(ssk, TCP_CLOSE);
>> -		subflow->reset_transient = 0;
>> -		subflow->reset_reason = MPTCP_RST_EMIDDLEBOX;
>> -		tcp_send_active_reset(ssk, GFP_ATOMIC);
>>  		WRITE_ONCE(subflow->data_avail, MPTCP_SUBFLOW_NODATA);
>>  		return true;
>>  	}
>
> -- 
> Tessares | Belgium | Hybrid Access Solutions
> www.tessares.net
>

--
Mat Martineau
Intel

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-08-02 20:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20220731024320.3360515-1-sashal@kernel.org>
2022-08-01 12:41 ` Patch "mptcp: don't send RST for single subflow" has been added to the 5.18-stable tree Matthieu Baerts
2022-08-02 20:47   ` Mat Martineau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).