[v2,1/8] net: expose sock_use_custom_sol_socket

Message ID 20230808134049.1407498-2-leitao@debian.org
State New
Headers
Series io_uring: Initial support for {s,g}etsockopt commands |

Commit Message

Breno Leitao Aug. 8, 2023, 1:40 p.m. UTC
  Exposing function sock_use_custom_sol_socket(), so it could be used by
io_uring subsystem.

This function will be used in the function io_uring_cmd_setsockopt() in
the coming patch, so, let's move it to the socket.h header file.

Signed-off-by: Breno Leitao <leitao@debian.org>
---
 include/linux/net.h | 5 +++++
 net/socket.c        | 5 -----
 2 files changed, 5 insertions(+), 5 deletions(-)
  

Comments

Hugo Villeneuve Aug. 8, 2023, 4:13 p.m. UTC | #1
On Tue,  8 Aug 2023 06:40:41 -0700
Breno Leitao <leitao@debian.org> wrote:

> Exposing function sock_use_custom_sol_socket(), so it could be used by
> io_uring subsystem.
> 
> This function will be used in the function io_uring_cmd_setsockopt() in
> the coming patch, so, let's move it to the socket.h header file.

Hi,
this description doesn't seem to match the code change below...

Hugo Villeneuve.


> Signed-off-by: Breno Leitao <leitao@debian.org>
> ---
>  include/linux/net.h | 5 +++++
>  net/socket.c        | 5 -----
>  2 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/include/linux/net.h b/include/linux/net.h
> index 41c608c1b02c..14a956e4530e 100644
> --- a/include/linux/net.h
> +++ b/include/linux/net.h
> @@ -355,4 +355,9 @@ u32 kernel_sock_ip_overhead(struct sock *sk);
>  #define MODULE_ALIAS_NET_PF_PROTO_NAME(pf, proto, name) \
>  	MODULE_ALIAS("net-pf-" __stringify(pf) "-proto-" __stringify(proto) \
>  		     name)
> +
> +static inline bool sock_use_custom_sol_socket(const struct socket *sock)
> +{
> +	return test_bit(SOCK_CUSTOM_SOCKOPT, &sock->flags);
> +}
>  #endif	/* _LINUX_NET_H */
> diff --git a/net/socket.c b/net/socket.c
> index 1dc23f5298ba..8df54352af83 100644
> --- a/net/socket.c
> +++ b/net/socket.c
> @@ -2216,11 +2216,6 @@ SYSCALL_DEFINE4(recv, int, fd, void __user *, ubuf, size_t, size,
>  	return __sys_recvfrom(fd, ubuf, size, flags, NULL, NULL);
>  }
>  
> -static bool sock_use_custom_sol_socket(const struct socket *sock)
> -{
> -	return test_bit(SOCK_CUSTOM_SOCKOPT, &sock->flags);
> -}
> -
>  /*
>   *	Set a socket option. Because we don't know the option lengths we have
>   *	to pass the user mode parameter for the protocols to sort out.
> -- 
> 2.34.1
>
  
Breno Leitao Aug. 8, 2023, 5:21 p.m. UTC | #2
Hello  Hugo,

On Tue, Aug 08, 2023 at 12:13:23PM -0400, Hugo Villeneuve wrote:
> On Tue,  8 Aug 2023 06:40:41 -0700
> Breno Leitao <leitao@debian.org> wrote:
> 
> > Exposing function sock_use_custom_sol_socket(), so it could be used by
> > io_uring subsystem.
> > 
> > This function will be used in the function io_uring_cmd_setsockopt() in
> > the coming patch, so, let's move it to the socket.h header file.
> 
> Hi,
> this description doesn't seem to match the code change below...

I re-read the patch comment and it seems to match what the code does,
so, probably this description only makes sense to me (?).

That said, hat have you understood from reading the description above?

Thanks for the review,

> > ---
> >  include/linux/net.h | 5 +++++
> >  net/socket.c        | 5 -----
> >  2 files changed, 5 insertions(+), 5 deletions(-)
> > 
> > diff --git a/include/linux/net.h b/include/linux/net.h
> > index 41c608c1b02c..14a956e4530e 100644
> > --- a/include/linux/net.h
> > +++ b/include/linux/net.h
> > @@ -355,4 +355,9 @@ u32 kernel_sock_ip_overhead(struct sock *sk);
> >  #define MODULE_ALIAS_NET_PF_PROTO_NAME(pf, proto, name) \
> >  	MODULE_ALIAS("net-pf-" __stringify(pf) "-proto-" __stringify(proto) \
> >  		     name)
> > +
> > +static inline bool sock_use_custom_sol_socket(const struct socket *sock)
> > +{
> > +	return test_bit(SOCK_CUSTOM_SOCKOPT, &sock->flags);
> > +}
> >  #endif	/* _LINUX_NET_H */
> > diff --git a/net/socket.c b/net/socket.c
> > index 1dc23f5298ba..8df54352af83 100644
> > --- a/net/socket.c
> > +++ b/net/socket.c
> > @@ -2216,11 +2216,6 @@ SYSCALL_DEFINE4(recv, int, fd, void __user *, ubuf, size_t, size,
> >  	return __sys_recvfrom(fd, ubuf, size, flags, NULL, NULL);
> >  }
> >  
> > -static bool sock_use_custom_sol_socket(const struct socket *sock)
> > -{
> > -	return test_bit(SOCK_CUSTOM_SOCKOPT, &sock->flags);
> > -}
> > -
> >  /*
> >   *	Set a socket option. Because we don't know the option lengths we have
> >   *	to pass the user mode parameter for the protocols to sort out.
> > -- 
> > 2.34.1
> >
  
Hugo Villeneuve Aug. 8, 2023, 5:46 p.m. UTC | #3
On Tue, 8 Aug 2023 10:21:03 -0700
Breno Leitao <leitao@debian.org> wrote:

> Hello  Hugo,
> 
> On Tue, Aug 08, 2023 at 12:13:23PM -0400, Hugo Villeneuve wrote:
> > On Tue,  8 Aug 2023 06:40:41 -0700
> > Breno Leitao <leitao@debian.org> wrote:
> > 
> > > Exposing function sock_use_custom_sol_socket(), so it could be used by
> > > io_uring subsystem.
> > > 
> > > This function will be used in the function io_uring_cmd_setsockopt() in
> > > the coming patch, so, let's move it to the socket.h header file.
> > 
> > Hi,
> > this description doesn't seem to match the code change below...
> 
> I re-read the patch comment and it seems to match what the code does,
> so, probably this description only makes sense to me (?).
> 
> That said, hat have you understood from reading the description above?
> socket.h
> Thanks for the review,

Hi Breno,
your comments says "move it to the socket.h header file" but it seems
to be moved to the net.h header file?

Hugo Villeneuve


> > > ---
> > >  include/linux/net.h | 5 +++++
> > >  net/socket.c        | 5 -----
> > >  2 files changed, 5 insertions(+), 5 deletions(-)
> > > 
> > > diff --git a/include/linux/net.h b/include/linux/net.h
> > > index 41c608c1b02c..14a956e4530e 100644
> > > --- a/include/linux/net.h
> > > +++ b/include/linux/net.h
> > > @@ -355,4 +355,9 @@ u32 kernel_sock_ip_overhead(struct sock *sk);
> > >  #define MODULE_ALIAS_NET_PF_PROTO_NAME(pf, proto, name) \
> > >  	MODULE_ALIAS("net-pf-" __stringify(pf) "-proto-" __stringify(proto) \
> > >  		     name)
> > > +
> > > +static inline bool sock_use_custom_sol_socket(const struct socket *sock)
> > > +{
> > > +	return test_bit(SOCK_CUSTOM_SOCKOPT, &sock->flags);
> > > +}
> > >  #endif	/* _LINUX_NET_H */
> > > diff --git a/net/socket.c b/net/socket.c
> > > index 1dc23f5298ba..8df54352af83 100644
> > > --- a/net/socket.c
> > > +++ b/net/socket.c
> > > @@ -2216,11 +2216,6 @@ SYSCALL_DEFINE4(recv, int, fd, void __user *, ubuf, size_t, size,
> > >  	return __sys_recvfrom(fd, ubuf, size, flags, NULL, NULL);
> > >  }
> > >  
> > > -static bool sock_use_custom_sol_socket(const struct socket *sock)
> > > -{
> > > -	return test_bit(SOCK_CUSTOM_SOCKOPT, &sock->flags);
> > > -}
> > > -
> > >  /*
> > >   *	Set a socket option. Because we don't know the option lengths we have
> > >   *	to pass the user mode parameter for the protocols to sort out.
> > > -- 
> > > 2.34.1
> > >
  
Jeff Moyer Aug. 8, 2023, 8:12 p.m. UTC | #4
Breno Leitao <leitao@debian.org> writes:

> Hello  Hugo,
>
> On Tue, Aug 08, 2023 at 12:13:23PM -0400, Hugo Villeneuve wrote:
>> On Tue,  8 Aug 2023 06:40:41 -0700
>> Breno Leitao <leitao@debian.org> wrote:
>> 
>> > Exposing function sock_use_custom_sol_socket(), so it could be used by
>> > io_uring subsystem.
>> > 
>> > This function will be used in the function io_uring_cmd_setsockopt() in
>> > the coming patch, so, let's move it to the socket.h header file.
>> 
>> Hi,
>> this description doesn't seem to match the code change below...
>
> I re-read the patch comment and it seems to match what the code does,
> so, probably this description only makes sense to me (?).
>
> That said, hat have you understood from reading the description above?

The comment states the function prototype is moving to socket.h, but the
patch puts it in net.h.

Cheers,
Jeff

>
> Thanks for the review,
>
>> > ---
>> >  include/linux/net.h | 5 +++++
>> >  net/socket.c        | 5 -----
>> >  2 files changed, 5 insertions(+), 5 deletions(-)
>> > 
>> > diff --git a/include/linux/net.h b/include/linux/net.h
>> > index 41c608c1b02c..14a956e4530e 100644
>> > --- a/include/linux/net.h
>> > +++ b/include/linux/net.h
>> > @@ -355,4 +355,9 @@ u32 kernel_sock_ip_overhead(struct sock *sk);
>> >  #define MODULE_ALIAS_NET_PF_PROTO_NAME(pf, proto, name) \
>> >  	MODULE_ALIAS("net-pf-" __stringify(pf) "-proto-" __stringify(proto) \
>> >  		     name)
>> > +
>> > +static inline bool sock_use_custom_sol_socket(const struct socket *sock)
>> > +{
>> > +	return test_bit(SOCK_CUSTOM_SOCKOPT, &sock->flags);
>> > +}
>> >  #endif	/* _LINUX_NET_H */
>> > diff --git a/net/socket.c b/net/socket.c
>> > index 1dc23f5298ba..8df54352af83 100644
>> > --- a/net/socket.c
>> > +++ b/net/socket.c
>> > @@ -2216,11 +2216,6 @@ SYSCALL_DEFINE4(recv, int, fd, void __user *, ubuf, size_t, size,
>> >  	return __sys_recvfrom(fd, ubuf, size, flags, NULL, NULL);
>> >  }
>> >  
>> > -static bool sock_use_custom_sol_socket(const struct socket *sock)
>> > -{
>> > -	return test_bit(SOCK_CUSTOM_SOCKOPT, &sock->flags);
>> > -}
>> > -
>> >  /*
>> >   *	Set a socket option. Because we don't know the option lengths we have
>> >   *	to pass the user mode parameter for the protocols to sort out.
>> > -- 
>> > 2.34.1
>> >
  
Breno Leitao Aug. 9, 2023, 9:39 a.m. UTC | #5
On Tue, Aug 08, 2023 at 01:46:47PM -0400, Hugo Villeneuve wrote:
> On Tue, 8 Aug 2023 10:21:03 -0700
> Breno Leitao <leitao@debian.org> wrote:
> 
> > Hello  Hugo,
> > 
> > On Tue, Aug 08, 2023 at 12:13:23PM -0400, Hugo Villeneuve wrote:
> > > On Tue,  8 Aug 2023 06:40:41 -0700
> > > Breno Leitao <leitao@debian.org> wrote:
> > > 
> > > > Exposing function sock_use_custom_sol_socket(), so it could be used by
> > > > io_uring subsystem.
> > > > 
> > > > This function will be used in the function io_uring_cmd_setsockopt() in
> > > > the coming patch, so, let's move it to the socket.h header file.
> > > 
> > > Hi,
> > > this description doesn't seem to match the code change below...
> > 
> > I re-read the patch comment and it seems to match what the code does,
> > so, probably this description only makes sense to me (?).
> > 
> > That said, hat have you understood from reading the description above?
> > socket.h
> > Thanks for the review,
> 
> Hi Breno,
> your comments says "move it to the socket.h header file" but it seems
> to be moved to the net.h header file?

Gotcha. Thanks. I will update.
  

Patch

diff --git a/include/linux/net.h b/include/linux/net.h
index 41c608c1b02c..14a956e4530e 100644
--- a/include/linux/net.h
+++ b/include/linux/net.h
@@ -355,4 +355,9 @@  u32 kernel_sock_ip_overhead(struct sock *sk);
 #define MODULE_ALIAS_NET_PF_PROTO_NAME(pf, proto, name) \
 	MODULE_ALIAS("net-pf-" __stringify(pf) "-proto-" __stringify(proto) \
 		     name)
+
+static inline bool sock_use_custom_sol_socket(const struct socket *sock)
+{
+	return test_bit(SOCK_CUSTOM_SOCKOPT, &sock->flags);
+}
 #endif	/* _LINUX_NET_H */
diff --git a/net/socket.c b/net/socket.c
index 1dc23f5298ba..8df54352af83 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -2216,11 +2216,6 @@  SYSCALL_DEFINE4(recv, int, fd, void __user *, ubuf, size_t, size,
 	return __sys_recvfrom(fd, ubuf, size, flags, NULL, NULL);
 }
 
-static bool sock_use_custom_sol_socket(const struct socket *sock)
-{
-	return test_bit(SOCK_CUSTOM_SOCKOPT, &sock->flags);
-}
-
 /*
  *	Set a socket option. Because we don't know the option lengths we have
  *	to pass the user mode parameter for the protocols to sort out.