[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAF=yD-LvTDmWp+wAqwuQ7vKLT0hAHcQjV9Ef2rEag5J4cSZrkA@mail.gmail.com>
Date: Sun, 4 Jun 2023 11:17:56 +0200
From: Willem de Bruijn <willemdebruijn.kernel@...il.com>
To: Breno Leitao <leitao@...ian.org>
Cc: Remi Denis-Courmont <courmisch@...il.com>, "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Alexander Aring <alex.aring@...il.com>, Stefan Schmidt <stefan@...enfreihafen.org>,
Miquel Raynal <miquel.raynal@...tlin.com>, David Ahern <dsahern@...nel.org>,
Matthieu Baerts <matthieu.baerts@...sares.net>, Mat Martineau <martineau@...nel.org>,
Marcelo Ricardo Leitner <marcelo.leitner@...il.com>, Xin Long <lucien.xin@...il.com>, axboe@...nel.dk,
asml.silence@...il.com, leit@...com, linux-kernel@...r.kernel.org,
netdev@...r.kernel.org, dccp@...r.kernel.org, linux-wpan@...r.kernel.org,
mptcp@...ts.linux.dev, linux-sctp@...r.kernel.org
Subject: Re: [PATCH net-next v5] net: ioctl: Use kernel memory on protocol
ioctl callbacks
> On Sat, Jun 03, 2023 at 10:21:50AM +0200, Willem de Bruijn wrote:
> > On Fri, Jun 2, 2023 at 6:31 PM Breno Leitao <leitao@...ian.org> wrote:
> > > Signed-off-by: Breno Leitao <leitao@...ian.org>
> >
> > Please check the checkpatch output
> >
> > https://patchwork.hopto.org/static/nipa/753609/13265673/checkpatch/stdout
>
> I am checking my current checkpatch before sending the patch, but I am
> not seeing the problems above.
>
> My tree is at 44c026a73be8038 ("Linux 6.4-rc3"), and I am not able to
> reproduce the problems above.
>
> $ scripts/checkpatch.pl v5/v5-0001-net-ioctl-Use-kernel-memory-on-protocol-ioctl-cal.patch
> total: 0 errors, 0 warnings, 0 checks, 806 lines checked
> v5/v5-0001-net-ioctl-Use-kernel-memory-on-protocol-ioctl-cal.patch has no obvious style problems and is ready for submission.
>
> Let me investigate what options I am missing when running checkpatch.
The reference is to the checkpatch as referenced by patchwork:
https://patchwork.kernel.org/project/netdevbpf/patch/20230602163044.1820619-1-leitao@debian.org/
The 80 character limit is a soft limit. But also note the CHECK
statements on whitespace.
>
> > > +/* A wrapper around sock ioctls, which copies the data from userspace
> > > + * (depending on the protocol/ioctl), and copies back the result to userspace.
> > > + * The main motivation for this function is to pass kernel memory to the
> > > + * protocol ioctl callbacks, instead of userspace memory.
> > > + */
> > > +int sk_ioctl(struct sock *sk, unsigned int cmd, void __user *arg)
> > > +{
> > > + int rc = 1;
> > > +
> > > + if (sk_is_ipmr(sk))
> > > + rc = ipmr_sk_ioctl(sk, cmd, arg);
> > > + else if (sk_is_icmpv6(sk))
> > > + rc = ip6mr_sk_ioctl(sk, cmd, arg);
> > > + else if (sk_is_phonet(sk))
> > > + rc = phonet_sk_ioctl(sk, cmd, arg);
> >
> > Does this handle all phonet ioctl cases correctly?
> >
> > Notably pn_socket_ioctl has a SIOCPNGETOBJECT that reads and writes a u16.
>
> We are not touching "struct proto_ops" in this patch at all. And
> pn_socket_ioctl() is part of "struct proto_ops".
>
> const struct proto_ops phonet_stream_ops = {
> ...
> .ioctl = pn_socket_ioctl,
> }
>
> That said, all the "struct proto_ops" ioctl calls backs continue to use
> "unsigned long arg" with userspace information, at least for now.
Ok. Perhaps good to call out in the commit message that this does not
convert all protocol ioctl callbacks.
Powered by blists - more mailing lists