Re: [RFC PATCH 2/4] net: pass 'optlen_t' to proto[ops].getsockopt() hooks
Stefan Metzmacher <[email protected]> Mon, 31 Mar 2025 22:27:17 +0200
| Newsgroups | org.kernel.vger.linux-wpan,dev.linux.lists.mptcp,dev.linux.lists.virtualization,org.kernel.vger.bpf,org.kernel.vger.dccp,org.kernel.vger.io-uring,org.kernel.vger.linux-bluetooth,org.kernel.vger.linux-can,org.kernel.vger.linux-hams,org.kernel.vger.linux-kernel,org.kernel.vger.linux-rdma,org.kernel.vger.linux-s390,org.kernel.vger.linux-sctp,org.kernel.vger.linux-x25,org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
> diff --git a/net/socket.c b/net/socket.c
> index 9a0e720f0859..fa2de12c10e6 100644
> --- a/net/socket.c
> +++ b/net/socket.c
> @@ -2350,12 +2350,15 @@ int do_sock_getsockopt(struct socket *sock, bool compat, int level,
> } else if (unlikely(!ops->getsockopt)) {
> err = -EOPNOTSUPP;
> } else {
> - if (WARN_ONCE(optval.is_kernel || optlen.is_kernel,
> + optlen_t _optlen = { .up = NULL, };
> +
> + if (WARN_ONCE(optval.is_kernel,
Sorry, the removal of '|| optlen.is_kernel' should be in the next commit...
> "Invalid argument type"))
> return -EOPNOTSUPP;