Commit 4e94ddfe authored by Christian Brauner's avatar Christian Brauner

file: remove __receive_fd()

Honestly, there's little value in having a helper with and without that
int __user *ufd argument. It's just messy and doesn't really give us
anything. Just expose receive_fd() with that argument and get rid of
that helper.

Link: https://lore.kernel.org/r/20231130-vfs-files-fixes-v1-5-e73ca6f4ea83@kernel.orgReviewed-by: default avatarJan Kara <jack@suse.cz>
Reviewed-by: default avatarJens Axboe <axboe@kernel.dk>
Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent eac9189c
...@@ -1157,7 +1157,7 @@ static long vduse_dev_ioctl(struct file *file, unsigned int cmd, ...@@ -1157,7 +1157,7 @@ static long vduse_dev_ioctl(struct file *file, unsigned int cmd,
fput(f); fput(f);
break; break;
} }
ret = receive_fd(f, perm_to_file_flags(entry.perm)); ret = receive_fd(f, NULL, perm_to_file_flags(entry.perm));
fput(f); fput(f);
break; break;
} }
......
...@@ -1296,7 +1296,7 @@ int replace_fd(unsigned fd, struct file *file, unsigned flags) ...@@ -1296,7 +1296,7 @@ int replace_fd(unsigned fd, struct file *file, unsigned flags)
} }
/** /**
* __receive_fd() - Install received file into file descriptor table * receive_fd() - Install received file into file descriptor table
* @file: struct file that was received from another process * @file: struct file that was received from another process
* @ufd: __user pointer to write new fd number to * @ufd: __user pointer to write new fd number to
* @o_flags: the O_* flags to apply to the new fd entry * @o_flags: the O_* flags to apply to the new fd entry
...@@ -1310,7 +1310,7 @@ int replace_fd(unsigned fd, struct file *file, unsigned flags) ...@@ -1310,7 +1310,7 @@ int replace_fd(unsigned fd, struct file *file, unsigned flags)
* *
* Returns newly install fd or -ve on error. * Returns newly install fd or -ve on error.
*/ */
int __receive_fd(struct file *file, int __user *ufd, unsigned int o_flags) int receive_fd(struct file *file, int __user *ufd, unsigned int o_flags)
{ {
int new_fd; int new_fd;
int error; int error;
...@@ -1335,6 +1335,7 @@ int __receive_fd(struct file *file, int __user *ufd, unsigned int o_flags) ...@@ -1335,6 +1335,7 @@ int __receive_fd(struct file *file, int __user *ufd, unsigned int o_flags)
__receive_sock(file); __receive_sock(file);
return new_fd; return new_fd;
} }
EXPORT_SYMBOL_GPL(receive_fd);
int receive_fd_replace(int new_fd, struct file *file, unsigned int o_flags) int receive_fd_replace(int new_fd, struct file *file, unsigned int o_flags)
{ {
...@@ -1350,12 +1351,6 @@ int receive_fd_replace(int new_fd, struct file *file, unsigned int o_flags) ...@@ -1350,12 +1351,6 @@ int receive_fd_replace(int new_fd, struct file *file, unsigned int o_flags)
return new_fd; return new_fd;
} }
int receive_fd(struct file *file, unsigned int o_flags)
{
return __receive_fd(file, NULL, o_flags);
}
EXPORT_SYMBOL_GPL(receive_fd);
static int ksys_dup3(unsigned int oldfd, unsigned int newfd, int flags) static int ksys_dup3(unsigned int oldfd, unsigned int newfd, int flags)
{ {
int err = -EBADF; int err = -EBADF;
......
...@@ -96,10 +96,7 @@ DEFINE_CLASS(get_unused_fd, int, if (_T >= 0) put_unused_fd(_T), ...@@ -96,10 +96,7 @@ DEFINE_CLASS(get_unused_fd, int, if (_T >= 0) put_unused_fd(_T),
extern void fd_install(unsigned int fd, struct file *file); extern void fd_install(unsigned int fd, struct file *file);
extern int __receive_fd(struct file *file, int __user *ufd, int receive_fd(struct file *file, int __user *ufd, unsigned int o_flags);
unsigned int o_flags);
extern int receive_fd(struct file *file, unsigned int o_flags);
int receive_fd_replace(int new_fd, struct file *file, unsigned int o_flags); int receive_fd_replace(int new_fd, struct file *file, unsigned int o_flags);
......
...@@ -214,7 +214,7 @@ static inline int scm_recv_one_fd(struct file *f, int __user *ufd, ...@@ -214,7 +214,7 @@ static inline int scm_recv_one_fd(struct file *f, int __user *ufd,
{ {
if (!ufd) if (!ufd)
return -EFAULT; return -EFAULT;
return __receive_fd(f, ufd, flags); return receive_fd(f, ufd, flags);
} }
#endif /* __LINUX_NET_SCM_H */ #endif /* __LINUX_NET_SCM_H */
......
...@@ -700,7 +700,7 @@ static int pidfd_getfd(struct pid *pid, int fd) ...@@ -700,7 +700,7 @@ static int pidfd_getfd(struct pid *pid, int fd)
if (IS_ERR(file)) if (IS_ERR(file))
return PTR_ERR(file); return PTR_ERR(file);
ret = receive_fd(file, O_CLOEXEC); ret = receive_fd(file, NULL, O_CLOEXEC);
fput(file); fput(file);
return ret; return ret;
......
...@@ -1072,7 +1072,7 @@ static void seccomp_handle_addfd(struct seccomp_kaddfd *addfd, struct seccomp_kn ...@@ -1072,7 +1072,7 @@ static void seccomp_handle_addfd(struct seccomp_kaddfd *addfd, struct seccomp_kn
*/ */
list_del_init(&addfd->list); list_del_init(&addfd->list);
if (!addfd->setfd) if (!addfd->setfd)
fd = receive_fd(addfd->file, addfd->flags); fd = receive_fd(addfd->file, NULL, addfd->flags);
else else
fd = receive_fd_replace(addfd->fd, addfd->file, addfd->flags); fd = receive_fd_replace(addfd->fd, addfd->file, addfd->flags);
addfd->ret = fd; addfd->ret = fd;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment