From: Breno Leitao <leitao@debian.org>
To: Stanislav Fomichev <sdf.kernel@gmail.com>
Cc: "David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>,
Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>,
Kuniyuki Iwashima <kuniyu@google.com>,
Willem de Bruijn <willemb@google.com>,
David Ahern <dsahern@kernel.org>,
Ido Schimmel <idosch@nvidia.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
david.laight.linux@gmail.com, kernel-team@meta.com
Subject: Re: [PATCH net-next 1/2] net: add sockopt_expand_out()
Date: Mon, 14 Sep 2026 04:35:18 -0700 [thread overview]
Message-ID: <aqfIHVJEftl1_IZZ@gmail.com> (raw)
In-Reply-To: <aqRvwUJ-ksUxrG-c@devvm7509.cco0.facebook.com>
On Fri, Sep 11, 2026 at 02:17:41PM -0700, Stanislav Fomichev wrote:
> On 09/11, Breno Leitao wrote:
> > On Fri, Sep 11, 2026 at 08:56:23AM -0700, Stanislav Fomichev wrote:
> > > On 09/10, Breno Leitao wrote:
> > > >
> > > > + if (size <= iov_iter_count(&opt->iter_out))
> > > > + return 0;
> > > > +
> > > > + if (WARN_ON_ONCE(!iter_is_ubuf(&opt->iter_out)))
> > > > + return -EINVAL;
> > >
> > > nit: if you end up re-spinning for some reason, maybe swap these two?
> >
> > I am not sure we want to swap these two. This is the reason:
> >
> > 1) The first check (size <= iov_iter_count(&opt->iter_out)), check if we
> > need the "hack" or not.
> >
> > a) If we don't need the tack, then we are fine and this could be called
> > from user or kernel.
> >
> > b) for the hack (which happens in the next line -- iov_iter_ubuf()), it
> > needs to be ubuf.
> >
> > So, this force kernel callers to use the right optlen, avoiding hitting
> > the same issue as userspace.
>
> Hmm, that feels a bit too magical :-/ Who are the kernel callers? Do we
> have any? Is it reachable via bpf or something else?
We don't have any kernel callers today, but this conversion will
enable kernel users to call it.
That said, the WARN_ON_ONCE() protects future kernel callers from
making the same mistake as userspace: not passing a large enough
optlen.
Once the whole conversion is done, BPF and io_uring will be able to
call these options.
So the WARN is an assert against a future in-kernel caller that gets
optlen wrong, not something reachable today.
next prev parent reply other threads:[~2026-09-14 11:35 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-10 9:47 [PATCH net-next 0/2] net: a sockopt_t quirk for the options that write past optlen Breno Leitao
2026-09-10 9:47 ` [PATCH net-next 1/2] net: add sockopt_expand_out() Breno Leitao
2026-09-11 15:56 ` Stanislav Fomichev
2026-09-11 16:09 ` Breno Leitao
2026-09-11 18:10 ` David Laight
2026-09-11 21:17 ` Stanislav Fomichev
2026-09-14 11:35 ` Breno Leitao [this message]
2026-09-12 1:19 ` netdev-bot+sashiko
2026-09-10 9:47 ` [PATCH net-next 2/2] ipv4: igmp: convert ip_mc_msfget() to sockopt_t Breno Leitao
2026-09-11 15:56 ` Stanislav Fomichev
2026-09-12 1:19 ` netdev-bot+sashiko
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=aqfIHVJEftl1_IZZ@gmail.com \
--to=leitao@debian.org \
--cc=davem@davemloft.net \
--cc=david.laight.linux@gmail.com \
--cc=dsahern@kernel.org \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=idosch@nvidia.com \
--cc=kernel-team@meta.com \
--cc=kuba@kernel.org \
--cc=kuniyu@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sdf.kernel@gmail.com \
--cc=willemb@google.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
all inboxes | Powered by JetHome®