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:
- MCTP
- LLC
- X.25
- KCM
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.
Signed-off-by: Breno Leitao <leitao@debian.org>
---
Changes in v2:
- Fix kdoc as suggested by Jakub.
- Drop the CAN patches; they will be sent separately through the
linux-can tree.
- Add X.25 and KCM conversions, keeping the series at four protocols.
- Link to v1: https://patch.msgid.link/20260505-getsock_two-v1-0-4cb0738950e0@debian.org
---
Breno Leitao (5):
mctp: convert to getsockopt_iter
llc: convert to getsockopt_iter
x25: convert to getsockopt_iter
kcm: convert to getsockopt_iter
selftests: net: getsockopt_iter: cleanup
net/kcm/kcmsock.c | 16 ++--
net/llc/af_llc.c | 18 ++---
net/mctp/af_mctp.c | 10 +--
net/x25/af_x25.c | 16 ++--
tools/testing/selftests/net/getsockopt_iter.c | 109 +++++++++++++++++++++++---
5 files changed, 124 insertions(+), 45 deletions(-)
---
base-commit: c1e5127b577c6b88fa48e532616932ae978528d5
change-id: 20260505-getsock_two-abad19643336
Best regards,
--
Breno Leitao <leitao@debian.org>