All of lore.kernel.org
 help / color / mirror / Atom feed
* [MPTCP] Re: [PATCH 0/2] Fix bug processing options
@ 2019-10-31 15:34 Matthieu Baerts
  0 siblings, 0 replies; 5+ messages in thread
From: Matthieu Baerts @ 2019-10-31 15:34 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 2079 bytes --]

Hi,

It seems this email I wanted to send end of last week didn't go through.

On 26/10/2019 10:04, Matthieu Baerts wrote:
> Hi Peter, Mat,
> 
> On 26/10/2019 01:40, Mat Martineau wrote:
>>
>> On Tue, 22 Oct 2019, Peter Krystad wrote:
>>
>>> Do not process incoming options if the subflow is not MPTCP.
>>>
>>> Observed crash when running against out-of-tree kernel with
>>> mis-matched checksum options.
>>>
>>> Peter Krystad (2):
>>>  mptcp: Ignore incoming MPTCP options when not MP_CAPABLE
>>>  mptcp: Ignore incoming MPTCP options when not MP_CAPABLE
>>>
>>> net/mptcp/options.c | 3 +++
>>> 1 file changed, 3 insertions(+)
>>>
>>
>> Both changes look good to me. Thanks, Peter!
> 
> Thank you for the patches and the reviews!
> 
> - 6eb607af7475: "squashed" patch 1/2 in "mptcp: Implement MPTCP receive 
> path"
> - ea443b296417: "squashed" patch 2/2 in "mptcp: Add handling of outgoing 
> MP_JOIN requests"
> - 22b6803a0c48..a89f2feb5b90: result
> 
> Tests are still OK!

I had to do a small change to allow the compilation of each commit:


diff --git a/net/mptcp/options.c b/net/mptcp/options.c
index ca589ab9a02a..bbf9e9aa53da 100644
--- a/net/mptcp/options.c
+++ b/net/mptcp/options.c
@@ -391,6 +391,7 @@ bool mptcp_synack_options(const struct request_sock 
*req, unsigned int *size,
  void mptcp_incoming_options(struct sock *sk, struct sk_buff *skb,
                             struct tcp_options_received *opt_rx)
  {
+       struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(sk);
         struct mptcp_options_received *mp_opt;
         struct mptcp_ext *mpext;


The subflow variable is declared later on in "mptcp: Add path manager 
interface"

- c559c9eb4f9f: "squashed" in "mptcp: Implement MPTCP receive path"
- 9c984d940c41: conflict in t/mptcp-Add-path-manager-interface
- no diff at the end.

Cheers,
Matt
-- 
Matthieu Baerts | R&D Engineer
matthieu.baerts(a)tessares.net
Tessares SA | Hybrid Access Solutions
www.tessares.net
1 Avenue Jean Monnet, 1348 Louvain-la-Neuve, Belgium

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

* [MPTCP] Re: [PATCH 0/2] Fix bug processing options
@ 2019-10-26  8:04 Matthieu Baerts
  0 siblings, 0 replies; 5+ messages in thread
From: Matthieu Baerts @ 2019-10-26  8:04 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 1041 bytes --]

Hi Peter, Mat,

On 26/10/2019 01:40, Mat Martineau wrote:
> 
> On Tue, 22 Oct 2019, Peter Krystad wrote:
> 
>> Do not process incoming options if the subflow is not MPTCP.
>>
>> Observed crash when running against out-of-tree kernel with
>> mis-matched checksum options.
>>
>> Peter Krystad (2):
>>  mptcp: Ignore incoming MPTCP options when not MP_CAPABLE
>>  mptcp: Ignore incoming MPTCP options when not MP_CAPABLE
>>
>> net/mptcp/options.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
> 
> Both changes look good to me. Thanks, Peter!

Thank you for the patches and the reviews!

- 6eb607af7475: "squashed" patch 1/2 in "mptcp: Implement MPTCP receive 
path"
- ea443b296417: "squashed" patch 2/2 in "mptcp: Add handling of outgoing 
MP_JOIN requests"
- 22b6803a0c48..a89f2feb5b90: result

Tests are still OK!

Cheers,
Matt
-- 
Matthieu Baerts | R&D Engineer
matthieu.baerts(a)tessares.net
Tessares SA | Hybrid Access Solutions
www.tessares.net
1 Avenue Jean Monnet, 1348 Louvain-la-Neuve, Belgium

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

* [MPTCP] Re: [PATCH 0/2] Fix bug processing options
@ 2019-10-25 23:40 Mat Martineau
  0 siblings, 0 replies; 5+ messages in thread
From: Mat Martineau @ 2019-10-25 23:40 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 503 bytes --]


On Tue, 22 Oct 2019, Peter Krystad wrote:

> Do not process incoming options if the subflow is not MPTCP.
>
> Observed crash when running against out-of-tree kernel with
> mis-matched checksum options.
>
> Peter Krystad (2):
>  mptcp: Ignore incoming MPTCP options when not MP_CAPABLE
>  mptcp: Ignore incoming MPTCP options when not MP_CAPABLE
>
> net/mptcp/options.c | 3 +++
> 1 file changed, 3 insertions(+)
>

Both changes look good to me. Thanks, Peter!

--
Mat Martineau
Intel

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

* [MPTCP] Re: [PATCH 0/2] Fix bug processing options
@ 2019-10-23 20:35 Peter Krystad
  0 siblings, 0 replies; 5+ messages in thread
From: Peter Krystad @ 2019-10-23 20:35 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 1149 bytes --]

On Wed, 2019-10-23 at 14:19 +0200, Matthieu Baerts wrote:
> Hi Peter,
> 
> On 23/10/2019 00:54, Peter Krystad wrote:
> > Observed crash when running against out-of-tree kernel with
> > mis-matched checksum options.
> 
> Thank you for doing this kind of tests!

It was an accident, I forgot to disable checksum on the out-of-tree side...

> 
>  > Do not process incoming options if the subflow is not MPTCP.
> 
> Are we not supposed not to deal with MPTCP options after a fallback to TCP?
> 
> If we fallback to TCP, should we not always set 'tp->is_mptcp' to false?

Currently for fallback we set is_mptcp=0 after the connection negotiation is
complete [in mptcp_accept()] and presumeably everything is fine after that
point. In this specific situation (we don't send MP_CAPABLE in the third ack
because we don't support checksum) the out-of-tree kernel resends the syn-ack
with DSS options, and these packets are processed before is_mptcp is cleared.
I think we are in uncharted territory here because of how we reject the other
sides request for checksums, but this check can't hurt.

Peter.

 
> 
> Cheers,
> Matt

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

* [MPTCP] Re: [PATCH 0/2] Fix bug processing options
@ 2019-10-23 12:19 Matthieu Baerts
  0 siblings, 0 replies; 5+ messages in thread
From: Matthieu Baerts @ 2019-10-23 12:19 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 612 bytes --]

Hi Peter,

On 23/10/2019 00:54, Peter Krystad wrote:
> Observed crash when running against out-of-tree kernel with
> mis-matched checksum options.

Thank you for doing this kind of tests!

 > Do not process incoming options if the subflow is not MPTCP.

Are we not supposed not to deal with MPTCP options after a fallback to TCP?

If we fallback to TCP, should we not always set 'tp->is_mptcp' to false?

Cheers,
Matt
-- 
Matthieu Baerts | R&D Engineer
matthieu.baerts(a)tessares.net
Tessares SA | Hybrid Access Solutions
www.tessares.net
1 Avenue Jean Monnet, 1348 Louvain-la-Neuve, Belgium

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

end of thread, other threads:[~2019-10-31 15:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-31 15:34 [MPTCP] Re: [PATCH 0/2] Fix bug processing options Matthieu Baerts
  -- strict thread matches above, loose matches on Subject: below --
2019-10-26  8:04 Matthieu Baerts
2019-10-25 23:40 Mat Martineau
2019-10-23 20:35 Peter Krystad
2019-10-23 12:19 Matthieu Baerts

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.