From: Breno Leitao <leitao@debian.org>
To: Oliver Hartkopp <socketcan@hartkopp.net>,
Marc Kleine-Budde <mkl@pengutronix.de>,
Robin van der Gracht <robin@protonic.nl>,
Oleksij Rempel <o.rempel@pengutronix.de>,
kernel@pengutronix.de, Jeremy Kerr <jk@codeconstruct.com.au>,
Matt Johnston <matt@codeconstruct.com.au>,
"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>,
Shuah Khan <shuah@kernel.org>
Cc: linux-can@vger.kernel.org, linux-kernel@vger.kernel.org,
netdev@vger.kernel.org, linux-kselftest@vger.kernel.org,
Breno Leitao <leitao@debian.org>,
kernel-team@meta.com, Stanislav Fomichev <sdf@fomichev.me>,
Bobby Eshleman <bobbyeshleman@meta.com>
Subject: [PATCH net-next 0/5] net: convert four more protocols to getsockopt_iter
Date: Tue, 05 May 2026 04:12:37 -0700 [thread overview]
Message-ID: <20260505-getsock_two-v1-0-4cb0738950e0@debian.org> (raw)
Continue the work to convert protocols to the new getsockopt_iter API.
Convert four additional getsockopt implementations to the new
sockopt_t/getsockopt_iter callback:
- CAN ISO-TP
- MCTP
- CAN J1939
- LLC
These are mechanical, ABI-preserving conversions following the same
pattern as the previously converted protocols (af_packet, can/raw,
af_netlink, af_vsock): the (char __user *optval, int __user *optlen)
pair is replaced with a single sockopt_t *opt that carries the buffer
length on input and the returned size on output, and exposes an iov_iter
for the copy-out path. put_user()/copy_to_user() pairs are replaced with
a single copy_to_iter() per option, and the wrapper in
do_sock_getsockopt() handles writing optlen back to userspace.
I picked these four because each is small and self-contained, with only
one getsockopt callback and a handful of options, so the conversions are
easy to audit individually.
NOTE: optlen is always updated (returned to userspace) even when optval
fails to copy. I.e, userspace will get the "new" optlen even when the
getsockop() fails. That seems wrong, but, this just preserve the
previous behaviour, not changing it.
Signed-off-by: Breno Leitao <leitao@debian.org>
---
Breno Leitao (5):
can: isotp: convert to getsockopt_iter
can: j1939: convert to getsockopt_iter
mctp: convert to getsockopt_iter
llc: convert to getsockopt_iter
selftests: net: getsockopt_iter: address review nits
net/can/isotp.c | 12 ++-
net/can/j1939/socket.c | 21 +++--
net/llc/af_llc.c | 15 ++--
net/mctp/af_mctp.c | 10 +--
tools/testing/selftests/net/getsockopt_iter.c | 109 +++++++++++++++++++++++---
5 files changed, 128 insertions(+), 39 deletions(-)
---
base-commit: c1e5127b577c6b88fa48e532616932ae978528d5
change-id: 20260505-getsock_two-abad19643336
Best regards,
--
Breno Leitao <leitao@debian.org>
next reply other threads:[~2026-05-05 11:13 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-05 11:12 Breno Leitao [this message]
2026-05-05 11:12 ` [PATCH net-next 1/5] can: isotp: convert to getsockopt_iter Breno Leitao
2026-05-05 11:12 ` [PATCH net-next 2/5] can: j1939: " Breno Leitao
2026-05-05 11:12 ` [PATCH net-next 3/5] mctp: " Breno Leitao
2026-05-05 11:12 ` [PATCH net-next 4/5] llc: " Breno Leitao
2026-05-05 11:12 ` [PATCH net-next 5/5] selftests: net: getsockopt_iter: address review nits Breno Leitao
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=20260505-getsock_two-v1-0-4cb0738950e0@debian.org \
--to=leitao@debian.org \
--cc=bobbyeshleman@meta.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=jk@codeconstruct.com.au \
--cc=kernel-team@meta.com \
--cc=kernel@pengutronix.de \
--cc=kuba@kernel.org \
--cc=linux-can@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=matt@codeconstruct.com.au \
--cc=mkl@pengutronix.de \
--cc=netdev@vger.kernel.org \
--cc=o.rempel@pengutronix.de \
--cc=pabeni@redhat.com \
--cc=robin@protonic.nl \
--cc=sdf@fomichev.me \
--cc=shuah@kernel.org \
--cc=socketcan@hartkopp.net \
/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