]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
file: stop exposing receive_fd_user()
authorChristian Brauner <brauner@kernel.org>
Thu, 30 Nov 2023 12:49:10 +0000 (13:49 +0100)
committerChristian Brauner <brauner@kernel.org>
Tue, 12 Dec 2023 13:24:14 +0000 (14:24 +0100)
Not every subsystem needs to have their own specialized helper.
Just us the __receive_fd() helper.

Link: https://lore.kernel.org/r/20231130-vfs-files-fixes-v1-4-e73ca6f4ea83@kernel.org
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Christian Brauner <brauner@kernel.org>
include/linux/file.h
include/net/scm.h
net/compat.c
net/core/scm.c

index 6e9099d2934368d2aa41ffc30f4e438f8d42531d..c0d5219c28528ab1fc82e7c87606c58e8e189551 100644 (file)
@@ -101,13 +101,6 @@ extern int __receive_fd(struct file *file, int __user *ufd,
 
 extern int receive_fd(struct file *file, unsigned int o_flags);
 
-static inline int receive_fd_user(struct file *file, int __user *ufd,
-                                 unsigned int o_flags)
-{
-       if (ufd == NULL)
-               return -EFAULT;
-       return __receive_fd(file, ufd, o_flags);
-}
 int receive_fd_replace(int new_fd, struct file *file, unsigned int o_flags);
 
 extern void flush_delayed_fput(void);
index e8c76b4be2fe71c62f841a8cbc27aa97acf670b3..8aae2468bae0d3b68a4ea21d245786ea3ee852c9 100644 (file)
@@ -5,6 +5,7 @@
 #include <linux/limits.h>
 #include <linux/net.h>
 #include <linux/cred.h>
+#include <linux/file.h>
 #include <linux/security.h>
 #include <linux/pid.h>
 #include <linux/nsproxy.h>
@@ -208,5 +209,13 @@ static inline void scm_recv_unix(struct socket *sock, struct msghdr *msg,
        scm_destroy_cred(scm);
 }
 
+static inline int scm_recv_one_fd(struct file *f, int __user *ufd,
+                                 unsigned int flags)
+{
+       if (!ufd)
+               return -EFAULT;
+       return __receive_fd(f, ufd, flags);
+}
+
 #endif /* __LINUX_NET_SCM_H */
 
index 6564720f32b7de5a8a1927acda2fc7cb9f4a055b..485db8ee9b28fd0138e37188ee063f82af54124b 100644 (file)
@@ -297,7 +297,7 @@ void scm_detach_fds_compat(struct msghdr *msg, struct scm_cookie *scm)
        int err = 0, i;
 
        for (i = 0; i < fdmax; i++) {
-               err = receive_fd_user(scm->fp->fp[i], cmsg_data + i, o_flags);
+               err = scm_recv_one_fd(scm->fp->fp[i], cmsg_data + i, o_flags);
                if (err < 0)
                        break;
        }
index 880027ecf516503c6b98d1190aabca3c3be24e99..eec78e31255094f43b8d16b419c3efbde9e343f5 100644 (file)
@@ -319,7 +319,7 @@ void scm_detach_fds(struct msghdr *msg, struct scm_cookie *scm)
        }
 
        for (i = 0; i < fdmax; i++) {
-               err = receive_fd_user(scm->fp->fp[i], cmsg_data + i, o_flags);
+               err = scm_recv_one_fd(scm->fp->fp[i], cmsg_data + i, o_flags);
                if (err < 0)
                        break;
        }