]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net/socket: convert __sys_accept4_file() to FD_ADD()
authorChristian Brauner <brauner@kernel.org>
Sun, 23 Nov 2025 16:33:49 +0000 (17:33 +0100)
committerChristian Brauner <brauner@kernel.org>
Fri, 28 Nov 2025 11:42:34 +0000 (12:42 +0100)
Link: https://patch.msgid.link/20251123-work-fd-prepare-v4-31-b6efa1706cfd@kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
net/socket.c

index db2065051d33ca089c5f581ddb0ff8ae7645d79c..e1bf93508f05187406744576b5d053606661a397 100644 (file)
@@ -2003,8 +2003,6 @@ static int __sys_accept4_file(struct file *file, struct sockaddr __user *upeer_s
                              int __user *upeer_addrlen, int flags)
 {
        struct proto_accept_arg arg = { };
-       struct file *newfile;
-       int newfd;
 
        if (flags & ~(SOCK_CLOEXEC | SOCK_NONBLOCK))
                return -EINVAL;
@@ -2012,18 +2010,7 @@ static int __sys_accept4_file(struct file *file, struct sockaddr __user *upeer_s
        if (SOCK_NONBLOCK != O_NONBLOCK && (flags & SOCK_NONBLOCK))
                flags = (flags & ~SOCK_NONBLOCK) | O_NONBLOCK;
 
-       newfd = get_unused_fd_flags(flags);
-       if (unlikely(newfd < 0))
-               return newfd;
-
-       newfile = do_accept(file, &arg, upeer_sockaddr, upeer_addrlen,
-                           flags);
-       if (IS_ERR(newfile)) {
-               put_unused_fd(newfd);
-               return PTR_ERR(newfile);
-       }
-       fd_install(newfd, newfile);
-       return newfd;
+       return FD_ADD(flags, do_accept(file, &arg, upeer_sockaddr, upeer_addrlen, flags));
 }
 
 /*