]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
file: s/close_fd_get_file()/file_close_fd()/g
authorChristian Brauner <brauner@kernel.org>
Thu, 30 Nov 2023 12:49:07 +0000 (13:49 +0100)
committerChristian Brauner <brauner@kernel.org>
Tue, 12 Dec 2023 13:24:13 +0000 (14:24 +0100)
That really shouldn't have "get" in there as that implies we're bumping
the reference count which we don't do at all. We used to but not anmore.
Now we're just closing the fd and pick that file from the fdtable
without bumping the reference count. Update the wrong documentation
while at it.

Link: https://lore.kernel.org/r/20231130-vfs-files-fixes-v1-1-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>
drivers/android/binder.c
fs/file.c
fs/open.c
include/linux/fdtable.h

index 92128aae2d0601ed9a7b08486d756bcd44016ace..7658103ba760d688ae45a5f9b6b5a6db36e220fb 100644 (file)
@@ -1921,7 +1921,7 @@ static void binder_deferred_fd_close(int fd)
        if (!twcb)
                return;
        init_task_work(&twcb->twork, binder_do_fd_close);
-       twcb->file = close_fd_get_file(fd);
+       twcb->file = file_close_fd(fd);
        if (twcb->file) {
                // pin it until binder_do_fd_close(); see comments there
                get_file(twcb->file);
index 50df31e104a59c20f377b0e1aead8473195ccbf9..66f04442a384667b345369a103adf01dd47f1f53 100644 (file)
--- a/fs/file.c
+++ b/fs/file.c
@@ -796,7 +796,7 @@ int __close_range(unsigned fd, unsigned max_fd, unsigned int flags)
 }
 
 /*
- * See close_fd_get_file() below, this variant assumes current->files->file_lock
+ * See file_close_fd() below, this variant assumes current->files->file_lock
  * is held.
  */
 struct file *__close_fd_get_file(unsigned int fd)
@@ -804,11 +804,15 @@ struct file *__close_fd_get_file(unsigned int fd)
        return pick_file(current->files, fd);
 }
 
-/*
- * variant of close_fd that gets a ref on the file for later fput.
- * The caller must ensure that filp_close() called on the file.
+/**
+ * file_close_fd - return file associated with fd
+ * @fd: file descriptor to retrieve file for
+ *
+ * Doesn't take a separate reference count.
+ *
+ * Returns: The file associated with @fd (NULL if @fd is not open)
  */
-struct file *close_fd_get_file(unsigned int fd)
+struct file *file_close_fd(unsigned int fd)
 {
        struct files_struct *files = current->files;
        struct file *file;
index 02dc608d40d81f90c9427695763c85d0fd111e93..48775329f3f19abd69a2adf85515369b52b97d34 100644 (file)
--- a/fs/open.c
+++ b/fs/open.c
@@ -1577,7 +1577,7 @@ SYSCALL_DEFINE1(close, unsigned int, fd)
        int retval;
        struct file *file;
 
-       file = close_fd_get_file(fd);
+       file = file_close_fd(fd);
        if (!file)
                return -EBADF;
 
index 80bd7789bab1533d7953c41769922ae07074fe2f..78c8326d74ae28a46cdbc7cb189101a199cbb92f 100644 (file)
@@ -119,7 +119,7 @@ int iterate_fd(struct files_struct *, unsigned,
 
 extern int close_fd(unsigned int fd);
 extern int __close_range(unsigned int fd, unsigned int max_fd, unsigned int flags);
-extern struct file *close_fd_get_file(unsigned int fd);
+extern struct file *file_close_fd(unsigned int fd);
 extern int unshare_fd(unsigned long unshare_flags, unsigned int max_fds,
                      struct files_struct **new_fdp);