Re: [PATCH v3 3/9] net/socket: Break down __sys_setsockopt

From: Willem de Bruijn
Date: Sat Aug 19 2023 - 10:35:42 EST


Breno Leitao wrote:
> Split __sys_setsockopt() into two functions by removing the core
> logic into a sub-function (do_sock_setsockopt()). This will avoid
> code duplication when doing the same operation in other callers, for
> instance.
>
> do_sock_setsockopt() will be called by io_uring setsockopt() command
> operation in the following patch.
>
> Signed-off-by: Breno Leitao <leitao@xxxxxxxxxx>

Reviewed-by: Willem de Bruijn <willemb@xxxxxxxxxx>
> ---
> include/net/sock.h | 2 ++
> net/socket.c | 39 +++++++++++++++++++++++++--------------
> 2 files changed, 27 insertions(+), 14 deletions(-)
>
> diff --git a/include/net/sock.h b/include/net/sock.h
> index 2eb916d1ff64..2a0324275347 100644
> --- a/include/net/sock.h
> +++ b/include/net/sock.h
> @@ -1853,6 +1853,8 @@ int sk_setsockopt(struct sock *sk, int level, int optname,
> sockptr_t optval, unsigned int optlen);
> int sock_setsockopt(struct socket *sock, int level, int op,
> sockptr_t optval, unsigned int optlen);
> +int do_sock_setsockopt(struct socket *sock, bool compat, int level,
> + int optname, sockptr_t optval, int optlen);

Somewhat surprising that optlen type differs between __sys_setsockopt
and sock_setsockopt. But agreed that this code should follow
__sys_setsockopt.