From: Kuniyuki Iwashima <kuniyu@amazon.com>
To: <pabeni@redhat.com>
Cc: <Rao.Shoaib@oracle.com>, <davem@davemloft.net>,
<edumazet@google.com>, <kuba@kernel.org>, <kuni1840@gmail.com>,
<kuniyu@amazon.com>, <netdev@vger.kernel.org>
Subject: Re: [PATCH v1 net 03/11] af_unix: Stop recv(MSG_PEEK) at consumed OOB skb.
Date: Wed, 26 Jun 2024 14:47:00 -0700 [thread overview]
Message-ID: <20240626214700.5631-1-kuniyu@amazon.com> (raw)
In-Reply-To: <703aee1612d356af99969a4acd577e93a2942410.camel@redhat.com>
From: Paolo Abeni <pabeni@redhat.com>
Date: Wed, 26 Jun 2024 23:10:40 +0200
> On Wed, 2024-06-26 at 18:56 +0200, Paolo Abeni wrote:
> > On Mon, 2024-06-24 at 18:36 -0700, Kuniyuki Iwashima wrote:
> > > After consuming OOB data, recv() reading the preceding data must break at
> > > the OOB skb regardless of MSG_PEEK.
> > >
> > > Currently, MSG_PEEK does not stop recv() for AF_UNIX, and the behaviour is
> > > not compliant with TCP.
> >
> > I'm unsure we can change the MSG_PEEK behavior at this point: existing
> > application(s?) could relay on that, regardless of how inconsistent
> > such behavior is.
> >
> > I think we need at least an explicit ack from Rao, as the main known
> > user.
>
> I see Rao stated that the unix OoB implementation was designed to mimic
> the tcp one:
>
> https://lore.kernel.org/netdev/c5f6abbe-de43-48b8-856a-36ded227e94f@oracle.com/
>
> so the series should be ok.
>
> Still given the size of the changes and the behavior change I'm
> wondering if the series should target net-next instead.
> That would offer some time cushion to deal with eventual regression.
> WDYT?
The actual change is 37 LoC and we recently have this kind of changes
(30 LoC in total) in net.git. The last two were merged in April and
we have no user report so far.
a6736a0addd6 af_unix: Read with MSG_PEEK loops if the first unread byte is OOB
22dd70eb2c3d af_unix: Don't peek OOB data without MSG_OOB.
283454c8a123 af_unix: Call manage_oob() for every skb in unix_stream_read_generic().
Most of the changes are due to selftest. The original test repeated the
same set of code but covered few cases. OTOH, the new test spends most
of lines to add as many test cases as possible, which IMHO nicely covers
regression if we want to mimic TCP.
On net.git:
# FAILED: 20 / 38 tests passed.
# Totals: pass:20 fail:18 xfail:0 xpass:0 skip:0 error:0
Also, now the original test is broken in stable after the commits above,
so I think it would be nice to have this series in stable.
Thanks!
next prev parent reply other threads:[~2024-06-26 21:47 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-25 1:36 [PATCH v1 net 00/11] af_unix: Fix bunch of MSG_OOB bugs and add new tests Kuniyuki Iwashima
2024-06-25 1:36 ` [PATCH v1 net 01/11] selftest: af_unix: Remove test_unix_oob.c Kuniyuki Iwashima
2024-06-25 1:36 ` [PATCH v1 net 02/11] selftest: af_unix: Add msg_oob.c Kuniyuki Iwashima
2024-06-26 0:44 ` Jakub Kicinski
2024-06-26 1:45 ` Kuniyuki Iwashima
2024-06-26 2:01 ` Jakub Kicinski
2024-06-27 14:05 ` kernel test robot
2024-06-25 1:36 ` [PATCH v1 net 03/11] af_unix: Stop recv(MSG_PEEK) at consumed OOB skb Kuniyuki Iwashima
2024-06-26 16:56 ` Paolo Abeni
2024-06-26 21:10 ` Paolo Abeni
2024-06-26 21:47 ` Kuniyuki Iwashima [this message]
2024-06-27 10:04 ` Paolo Abeni
2024-07-06 9:38 ` Rao Shoaib
2024-06-25 1:36 ` [PATCH v1 net 04/11] af_unix: Don't stop recv(MSG_DONTWAIT) if consumed OOB skb is at the head Kuniyuki Iwashima
2024-06-25 1:36 ` [PATCH v1 net 05/11] selftest: af_unix: Add non-TCP-compliant test cases in msg_oob.c Kuniyuki Iwashima
2024-06-25 1:36 ` [PATCH v1 net 06/11] af_unix: Don't stop recv() at consumed ex-OOB skb Kuniyuki Iwashima
2024-06-25 1:36 ` [PATCH v1 net 07/11] selftest: af_unix: Add SO_OOBINLINE test cases in msg_oob.c Kuniyuki Iwashima
2024-06-25 1:36 ` [PATCH v1 net 08/11] selftest: af_unix: Check SIGURG after every send() " Kuniyuki Iwashima
2024-06-25 1:36 ` [PATCH v1 net 09/11] selftest: af_unix: Check EPOLLPRI after every send()/recv() " Kuniyuki Iwashima
2024-06-25 1:36 ` [PATCH v1 net 10/11] af_unix: Fix wrong ioctl(SIOCATMARK) when consumed OOB skb is at the head Kuniyuki Iwashima
2024-06-25 1:36 ` [PATCH v1 net 11/11] selftest: af_unix: Check SIOCATMARK after every send()/recv() in msg_oob.c Kuniyuki Iwashima
2024-06-26 0:43 ` [PATCH v1 net 00/11] af_unix: Fix bunch of MSG_OOB bugs and add new tests Jakub Kicinski
2024-06-26 1:31 ` Kuniyuki Iwashima
2024-06-27 10:10 ` patchwork-bot+netdevbpf
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=20240626214700.5631-1-kuniyu@amazon.com \
--to=kuniyu@amazon.com \
--cc=Rao.Shoaib@oracle.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=kuni1840@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.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 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).