Message ID | 20231130-vfs-files-fixes-v1-4-e73ca6f4ea83@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | file: minor fixes | expand |
On 11/30/23 5:49 AM, Christian Brauner wrote: > Not every subsystem needs to have their own specialized helper. > Just us the __receive_fd() helper. s/us/use
On Thu 30-11-23 13:49:10, Christian Brauner wrote: > Not every subsystem needs to have their own specialized helper. > Just us the __receive_fd() helper. > > Signed-off-by: Christian Brauner <brauner@kernel.org> Modulo the typo Jens pointed out, feel free to add: Reviewed-by: Jan Kara <jack@suse.cz> Honza > --- > include/linux/file.h | 7 ------- > include/net/scm.h | 9 +++++++++ > net/compat.c | 2 +- > net/core/scm.c | 2 +- > 4 files changed, 11 insertions(+), 9 deletions(-) > > diff --git a/include/linux/file.h b/include/linux/file.h > index 6e9099d29343..c0d5219c2852 100644 > --- a/include/linux/file.h > +++ b/include/linux/file.h > @@ -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); > diff --git a/include/net/scm.h b/include/net/scm.h > index e8c76b4be2fe..8aae2468bae0 100644 > --- a/include/net/scm.h > +++ b/include/net/scm.h > @@ -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 */ > > diff --git a/net/compat.c b/net/compat.c > index 6564720f32b7..485db8ee9b28 100644 > --- a/net/compat.c > +++ b/net/compat.c > @@ -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; > } > diff --git a/net/core/scm.c b/net/core/scm.c > index 880027ecf516..eec78e312550 100644 > --- a/net/core/scm.c > +++ b/net/core/scm.c > @@ -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; > } > > -- > 2.42.0 >
diff --git a/include/linux/file.h b/include/linux/file.h index 6e9099d29343..c0d5219c2852 100644 --- a/include/linux/file.h +++ b/include/linux/file.h @@ -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); diff --git a/include/net/scm.h b/include/net/scm.h index e8c76b4be2fe..8aae2468bae0 100644 --- a/include/net/scm.h +++ b/include/net/scm.h @@ -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 */ diff --git a/net/compat.c b/net/compat.c index 6564720f32b7..485db8ee9b28 100644 --- a/net/compat.c +++ b/net/compat.c @@ -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; } diff --git a/net/core/scm.c b/net/core/scm.c index 880027ecf516..eec78e312550 100644 --- a/net/core/scm.c +++ b/net/core/scm.c @@ -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; }
Not every subsystem needs to have their own specialized helper. Just us the __receive_fd() helper. Signed-off-by: Christian Brauner <brauner@kernel.org> --- include/linux/file.h | 7 ------- include/net/scm.h | 9 +++++++++ net/compat.c | 2 +- net/core/scm.c | 2 +- 4 files changed, 11 insertions(+), 9 deletions(-)