netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
To: Breno Leitao <leitao@debian.org>
Cc: Remi Denis-Courmont <courmisch@gmail.com>,
	"David S. Miller" <davem@davemloft.net>,
	 Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	 Alexander Aring <alex.aring@gmail.com>,
	Stefan Schmidt <stefan@datenfreihafen.org>,
	 Miquel Raynal <miquel.raynal@bootlin.com>,
	David Ahern <dsahern@kernel.org>,
	 Matthieu Baerts <matthieu.baerts@tessares.net>,
	Mat Martineau <martineau@kernel.org>,
	 Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>,
	Xin Long <lucien.xin@gmail.com>,
	axboe@kernel.dk,  asml.silence@gmail.com, leit@fb.com,
	linux-kernel@vger.kernel.org,  netdev@vger.kernel.org,
	dccp@vger.kernel.org, linux-wpan@vger.kernel.org,
	 mptcp@lists.linux.dev, linux-sctp@vger.kernel.org
Subject: Re: [PATCH net-next v5] net: ioctl: Use kernel memory on protocol ioctl callbacks
Date: Sun, 4 Jun 2023 11:17:56 +0200	[thread overview]
Message-ID: <CAF=yD-LvTDmWp+wAqwuQ7vKLT0hAHcQjV9Ef2rEag5J4cSZrkA@mail.gmail.com> (raw)
In-Reply-To: <ZHxEX0TlXX7VV9kX@gmail.com>

> 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@debian.org> wrote:
> > > Signed-off-by: Breno Leitao <leitao@debian.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.

  parent reply	other threads:[~2023-06-04  9:18 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-02 16:30 [PATCH net-next v5] net: ioctl: Use kernel memory on protocol ioctl callbacks Breno Leitao
2023-06-03  8:21 ` Willem de Bruijn
2023-06-04  7:59   ` Breno Leitao
2023-06-04  8:32     ` Breno Leitao
2023-06-04  9:17     ` Willem de Bruijn [this message]
2023-06-06 10:11       ` Breno Leitao
2023-06-06 11:35         ` Matthieu Baerts

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='CAF=yD-LvTDmWp+wAqwuQ7vKLT0hAHcQjV9Ef2rEag5J4cSZrkA@mail.gmail.com' \
    --to=willemdebruijn.kernel@gmail.com \
    --cc=alex.aring@gmail.com \
    --cc=asml.silence@gmail.com \
    --cc=axboe@kernel.dk \
    --cc=courmisch@gmail.com \
    --cc=davem@davemloft.net \
    --cc=dccp@vger.kernel.org \
    --cc=dsahern@kernel.org \
    --cc=edumazet@google.com \
    --cc=kuba@kernel.org \
    --cc=leit@fb.com \
    --cc=leitao@debian.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sctp@vger.kernel.org \
    --cc=linux-wpan@vger.kernel.org \
    --cc=lucien.xin@gmail.com \
    --cc=marcelo.leitner@gmail.com \
    --cc=martineau@kernel.org \
    --cc=matthieu.baerts@tessares.net \
    --cc=miquel.raynal@bootlin.com \
    --cc=mptcp@lists.linux.dev \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=stefan@datenfreihafen.org \
    /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).