diff options
| author | Christian Brauner <brauner@kernel.org> | 2025-11-23 17:33:29 +0100 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2025-11-28 12:42:32 +0100 |
| commit | 0f4288410cef8676d745c776ea9f1cdd710d50ef (patch) | |
| tree | 725e276bf9eaacc824a0255aae07cae4f32368ea | |
| parent | 3d8aefd49aed34d2a3acfdcb10a0af0d0fe94a7c (diff) | |
| download | net-0f4288410cef8676d745c776ea9f1cdd710d50ef.tar.gz | |
autofs: convert autofs_dev_ioctl_open_mountpoint() to FD_ADD()
Link: https://patch.msgid.link/20251123-work-fd-prepare-v4-11-b6efa1706cfd@kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
| -rw-r--r-- | fs/autofs/dev-ioctl.c | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/fs/autofs/dev-ioctl.c b/fs/autofs/dev-ioctl.c index d8dd150cbd7489..ff67cd77681203 100644 --- a/fs/autofs/dev-ioctl.c +++ b/fs/autofs/dev-ioctl.c @@ -231,32 +231,14 @@ static int test_by_type(const struct path *path, void *p) */ static int autofs_dev_ioctl_open_mountpoint(const char *name, dev_t devid) { - int err, fd; - - fd = get_unused_fd_flags(O_CLOEXEC); - if (likely(fd >= 0)) { - struct file *filp; - struct path path; - - err = find_autofs_mount(name, &path, test_by_dev, &devid); - if (err) - goto out; - - filp = dentry_open(&path, O_RDONLY, current_cred()); - path_put(&path); - if (IS_ERR(filp)) { - err = PTR_ERR(filp); - goto out; - } - - fd_install(fd, filp); - } + struct path path __free(path_put) = {}; + int err; - return fd; + err = find_autofs_mount(name, &path, test_by_dev, &devid); + if (err) + return err; -out: - put_unused_fd(fd); - return err; + return FD_ADD(O_CLOEXEC, dentry_open(&path, O_RDONLY, current_cred())); } /* Open a file descriptor on an autofs mount point */ |
