This series continues the conversion of the remaining proto_ops getsockopt
callbacks to the new getsockopt_iter callback introduced in commit 67fab22a7adc
("net: add getsockopt_iter callback to proto_ops").
The new callback takes a sockopt_t — a type-safe wrapper around iov_iter
plus an optlen field — instead of raw __user pointers. This:
- Replaces (char __user *optval, int __user *optlen) with sockopt_t *opt
- Reads the input buffer size from opt->optlen instead of get_user()
- Writes the option value via copy_to_iter() instead of copy_to_user()
- Reports the returned length via opt->optlen instead of put_user(),
independently of the bytes copied through the iter
Each conversion is a behaviour-preserving and code-style-preserving refactor;
no big changes being introduced, even when the code looks weird.
Signed-off-by: Breno Leitao <leitao@debian.org>
---
Changes in v3:
- Drop the "af_iucv" fix, and I will send it separately
- Remove a left-over comment (Paolo)
- Link to v2: https://patch.msgid.link/20260515-getsock_four-v2-0-0d8eed952627@debian.org
Changes in v2:
- Fix a issue reported by sashiko, where I was using "long int" instead
of "int" for a value.
- Nit from Stanislav
- Added an additional patch to make the af_iucv SO_MSGSIZE similar to
its partners.
- Link to v1: https://patch.msgid.link/20260513-getsock_four-v1-0-fe7f0e756fac@debian.org
To: Alexandra Winter <wintera@linux.ibm.com>
To: Thorsten Winkler <twinkler@linux.ibm.com>
To: "David S. Miller" <davem@davemloft.net>
To: Eric Dumazet <edumazet@google.com>
To: Jakub Kicinski <kuba@kernel.org>
To: Paolo Abeni <pabeni@redhat.com>
To: Simon Horman <horms@kernel.org>
To: Chas Williams <3chas3@gmail.com>
To: Magnus Karlsson <magnus.karlsson@intel.com>
To: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
To: Stanislav Fomichev <sdf@fomichev.me>
To: Alexei Starovoitov <ast@kernel.org>
To: Daniel Borkmann <daniel@iogearbox.net>
To: Jesper Dangaard Brouer <hawk@kernel.org>
To: John Fastabend <john.fastabend@gmail.com>
To: James Chapman <jchapman@katalix.com>
To: David Howells <dhowells@redhat.com>
To: Marc Dionne <marc.dionne@auristor.com>
To: Jon Maloy <jmaloy@redhat.com>
Cc: linux-s390@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-atm-general@lists.sourceforge.net
Cc: bpf@vger.kernel.org
Cc: linux-afs@lists.infradead.org
Cc: tipc-discussion@lists.sourceforge.net
---
Breno Leitao (6):
af_iucv: convert to getsockopt_iter
atm: convert to getsockopt_iter
xdp: convert to getsockopt_iter
l2tp: ppp: convert to getsockopt_iter
rxrpc: convert to getsockopt_iter
tipc: convert to getsockopt_iter
net/atm/common.c | 18 +++++++++++-------
net/atm/common.h | 2 +-
net/atm/pvc.c | 6 +++---
net/atm/svc.c | 15 +++++++--------
net/iucv/af_iucv.c | 14 ++++++--------
net/l2tp/l2tp_ppp.c | 20 +++++++-------------
net/rxrpc/af_rxrpc.c | 16 +++++++++-------
net/tipc/socket.c | 33 +++++++++++++++++----------------
net/xdp/xsk.c | 24 +++++++++++-------------
9 files changed, 72 insertions(+), 76 deletions(-)
---
base-commit: 95c1d0b80d73a9508ceea198c6132500410846e5
change-id: 20260513-getsock_four-063e6a724555
Best regards,
--
Breno Leitao <leitao@debian.org>