All of lore.kernel.org
 help / color / mirror / Atom feed
From: Florian Westphal <fw at strlen.de>
To: mptcp at lists.01.org
Subject: [MPTCP] Re: [PATCH] mptcp: reset 'first' and ack_hint on subflow close
Date: Mon, 22 Feb 2021 09:28:59 +0100	[thread overview]
Message-ID: <20210222082859.GJ22944@breakpoint.cc> (raw)
In-Reply-To: 4b24aff6aee0a095f295e0c44fdd708a28e7914d.camel@redhat.com

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

Paolo Abeni <pabeni(a)redhat.com> wrote:
> On Thu, 2021-02-18 at 16:59 +0100, Florian Westphal wrote:
> > Just like with last_snd, we have to NULL 'first' on subflow close.
> > 
> > ack_hint isn't strictly required (its never dereferenced), but better to
> > clear this as well.
> > 
> > msk->first is dereferenced unconditionally at accept time, but
> > at that point the ssk is not on the conn_list yet -- this means
> > worker can't see it when iterating the conn_list.
> 
> There is a __mptcp_flush_join_list() before __mptcp_close_subflow(),
> could that matter? IIRC even the PM can move the subflow from join_list
> to conn_list to take some actions.

AFAICS msk->first gets set/used to avoid use of join_list.
The latter is only used for incoming mp_join, not mp_capable.

I guess we can use the join_list but we whould have to stop splicing it
to the conn_list unconditionally -- we would need to keep mp_capable one
on the join_list until accept() time.

I think its better to apply this as-is at the moment, removing of
->first seems possible but the naive approach un-does several fixes
you made to avoid exposure of the first subflow to the work queue.

             reply	other threads:[~2021-02-22  8:28 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-22  8:28 Florian Westphal [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-02-22 15:58 [MPTCP] Re: [PATCH] mptcp: reset 'first' and ack_hint on subflow close Paolo Abeni
2021-02-18 16:32 Paolo Abeni
2021-02-18 16:23 Florian Westphal
2021-02-18 16:17 Paolo Abeni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210222082859.GJ22944@breakpoint.cc \
    --to=unknown@example.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.