]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
file: Merge __alloc_fd into alloc_fd
authorEric W. Biederman <ebiederm@xmission.com>
Fri, 20 Nov 2020 23:14:37 +0000 (17:14 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Jun 2024 12:52:49 +0000 (14:52 +0200)
[ Upstream commit aa384d10f3d06d4b85597ff5df41551262220e16 ]

The function __alloc_fd was added to support binder[1].  With binder
fixed[2] there are no more users.

As alloc_fd just calls __alloc_fd with "files=current->files",
merge them together by transforming the files parameter into a
local variable initialized to current->files.

[1] dcfadfa4ec5a ("new helper: __alloc_fd()")
[2] 44d8047f1d87 ("binder: use standard functions to allocate fds")
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
v1: https://lkml.kernel.org/r/20200817220425.9389-16-ebiederm@xmission.com
Link: https://lkml.kernel.org/r/20201120231441.29911-20-ebiederm@xmission.com
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/file.c
include/linux/fdtable.h

index 9e2b171b9252017bd415b6faf51522c490e39bee..48d0306e42cccc90b0a6cdf9ceecf84f8ec1583c 100644 (file)
--- a/fs/file.c
+++ b/fs/file.c
@@ -509,9 +509,9 @@ static unsigned int find_next_fd(struct fdtable *fdt, unsigned int start)
 /*
  * allocate a file descriptor, mark it busy.
  */
-int __alloc_fd(struct files_struct *files,
-              unsigned start, unsigned end, unsigned flags)
+static int alloc_fd(unsigned start, unsigned end, unsigned flags)
 {
+       struct files_struct *files = current->files;
        unsigned int fd;
        int error;
        struct fdtable *fdt;
@@ -567,14 +567,9 @@ out:
        return error;
 }
 
-static int alloc_fd(unsigned start, unsigned end, unsigned flags)
-{
-       return __alloc_fd(current->files, start, end, flags);
-}
-
 int __get_unused_fd_flags(unsigned flags, unsigned long nofile)
 {
-       return __alloc_fd(current->files, 0, nofile, flags);
+       return alloc_fd(0, nofile, flags);
 }
 
 int get_unused_fd_flags(unsigned flags)
index 6e8743a4c9d31e39eedc77c0721de59dd5ec9c7d..d26b884fcc5cc2ecf55c222b8e043a927de0e1c6 100644 (file)
@@ -124,8 +124,6 @@ int iterate_fd(struct files_struct *, unsigned,
                int (*)(const void *, struct file *, unsigned),
                const void *);
 
-extern int __alloc_fd(struct files_struct *files,
-                     unsigned start, unsigned end, unsigned flags);
 extern int __close_fd(struct files_struct *files,
                      unsigned int fd);
 extern int __close_range(unsigned int fd, unsigned int max_fd, unsigned int flags);