summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Brauner <brauner@kernel.org>2026-09-10 17:47:59 +0200
committerChristian Brauner <brauner@kernel.org>2026-09-14 15:58:06 +0200
commitbee7cdebd22108002a5bb5a7e5e2a804639d2e36 (patch)
tree9caf2f62bca7ea1d82db71b96fc9945b6479893e
parentff7a2121fbdfecf38d4d2b7178003ab002edc368 (diff)
downloadlinux-next-bee7cdebd22108002a5bb5a7e5e2a804639d2e36.tar.gz
linux-next-bee7cdebd22108002a5bb5a7e5e2a804639d2e36.zip
fs: don't open-code file_close_fd() in close_fd()
close_fd() takes the lock, calls file_close_fd_locked() and drops the lock, which is exactly what file_close_fd() does. Use it. No functional changes. Link: https://patch.msgid.link/20260910-work-coredump-unlock-self-v4-1-a5c1800dc930@kernel.org Reviewed-by: NeilBrown <neil@brown.name> Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
-rw-r--r--fs/file.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/file.c b/fs/file.c
index 628ca07dc4b1..59673547de90 100644
--- a/fs/file.c
+++ b/fs/file.c
@@ -732,16 +732,13 @@ struct file *file_close_fd_locked(struct files_struct *files, unsigned fd)
int close_fd(unsigned fd)
{
- struct files_struct *files = current->files;
struct file *file;
- spin_lock(&files->file_lock);
- file = file_close_fd_locked(files, fd);
- spin_unlock(&files->file_lock);
+ file = file_close_fd(fd);
if (!file)
return -EBADF;
- return filp_close(file, files);
+ return filp_close(file, current->files);
}
EXPORT_SYMBOL(close_fd);