aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Brauner <brauner@kernel.org>2025-06-24 10:29:08 +0200
committerChristian Brauner <brauner@kernel.org>2025-06-24 15:45:37 +0200
commit1c5484395f9f8b7bf0702f34aa3406353e45d7ec (patch)
treeb2b41f8941c04e3e3a3c5e5d0f945d3409e263bc
parentpidfs: add pidfs_root_path() helper (diff)
downloadlinux-1c5484395f9f8b7bf0702f34aa3406353e45d7ec.tar.gz
linux-1c5484395f9f8b7bf0702f34aa3406353e45d7ec.zip
fhandle: reflow get_path_anchor()
Switch to a more common coding style. Link: https://lore.kernel.org/20250624-work-pidfs-fhandle-v2-5-d02a04858fe3@kernel.org Reviewed-by: Jan Kara <jack@suse.cz> Reviewed-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Christian Brauner <brauner@kernel.org>
-rw-r--r--fs/fhandle.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/fs/fhandle.c b/fs/fhandle.c
index d8d32208c621..9ef35f8e8989 100644
--- a/fs/fhandle.c
+++ b/fs/fhandle.c
@@ -170,21 +170,25 @@ SYSCALL_DEFINE5(name_to_handle_at, int, dfd, const char __user *, name,
static int get_path_anchor(int fd, struct path *root)
{
+ if (fd >= 0) {
+ CLASS(fd, f)(fd);
+ if (fd_empty(f))
+ return -EBADF;
+ *root = fd_file(f)->f_path;
+ path_get(root);
+ return 0;
+ }
+
if (fd == AT_FDCWD) {
struct fs_struct *fs = current->fs;
spin_lock(&fs->lock);
*root = fs->pwd;
path_get(root);
spin_unlock(&fs->lock);
- } else {
- CLASS(fd, f)(fd);
- if (fd_empty(f))
- return -EBADF;
- *root = fd_file(f)->f_path;
- path_get(root);
+ return 0;
}
- return 0;
+ return -EBADF;
}
static int vfs_dentry_acceptable(void *context, struct dentry *dentry)