Re: [PATCH bpf-next v4 1/5] net: Add connect_socket() helper

Jiayuan Chen <[email protected]>
Newsgroups gmane.linux.kernel.bpf,gmane.linux.network
Message-ID <[email protected]>
On 8/7/26 2:22 AM, Mahe Tardy wrote:
> Add a helper that connects an existing socket while invoking the LSM
> hook. Reuse it in __sys_connect_file() to avoid duplicating the connect
> logic. Other socket operations have equivalent helpers that trigger the
> appropriate LSM hooks that can be reused, this one was the only one
> missing.
>
> Signed-off-by: Mahe Tardy <[email protected]>
> ---
>   include/linux/socket.h |  2 ++
>   net/socket.c           | 32 ++++++++++++++++++--------------
>   2 files changed, 20 insertions(+), 14 deletions(-)
>
> diff --git a/include/linux/socket.h b/include/linux/socket.h
> index 2a8d7b14f1d1..8964528e3823 100644
> --- a/include/linux/socket.h
> +++ b/include/linux/socket.h
> @@ -461,6 +461,8 @@ extern struct file *__sys_socket_file(int family, int type, int protocol);
>   extern int __sys_bind(int fd, struct sockaddr __user *umyaddr, int addrlen);
>   extern int __sys_bind_socket(struct socket *sock, struct sockaddr_storage *address,
>   			     int addrlen);
> +extern int connect_socket(struct socket *sock, struct sockaddr_storage *addr,
> +				int addrlen, int flags);
>   extern int __sys_connect_file(struct file *file, struct sockaddr_storage *addr,
>   			      int addrlen, int file_flags);
>   extern int __sys_connect(int fd, struct sockaddr __user *uservaddr,
> diff --git a/net/socket.c b/net/socket.c
> index 63c69a0fa74e..126a674f534d 100644
> --- a/net/socket.c
> +++ b/net/socket.c
> @@ -2103,6 +2103,20 @@ SYSCALL_DEFINE3(accept, int, fd, struct sockaddr __user *, upeer_sockaddr,
>   	return __sys_accept4(fd, upeer_sockaddr, upeer_addrlen, 0);
>   }
>
> +int connect_socket(struct socket *sock, struct sockaddr_storage *address,
> +			 int addrlen, int flags)
> +{


Please fix the checkpatch warning if revise

CHECK: extern prototypes should be avoided in .h files
#27: FILE: include/linux/socket.h:464:
+extern int connect_socket(struct socket *sock, struct sockaddr_storage 
*addr,

CHECK: Alignment should match open parenthesis
#28: FILE: include/linux/socket.h:465:
+extern int connect_socket(struct socket *sock, struct sockaddr_storage 
*addr,
+                int addrlen, int flags);

CHECK: Alignment should match open parenthesis
#41: FILE: net/socket.c:2107:
+int connect_socket(struct socket *sock, struct sockaddr_storage *address,
+             int addrlen, int flags)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.