Re: [PATCH bpf-next v4 1/5] net: Add connect_socket() helper
From: Jiayuan Chen <jiayuan.chen@linux.dev>
Date: 2026-08-07 01:54:17
Also in:
bpf
On 8/7/26 2:22 AM, Mahe Tardy wrote:
quoted hunk ↗ jump to hunk
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 <redacted> --- 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)