summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksa Sarai <cyphar@cyphar.com>2024-07-31 23:10:27 +1000
committerChristian Brauner <brauner@kernel.org>2024-08-19 13:45:03 +0200
commit6a64c5220c5df235448b846aeff3c0660d4cc83e (patch)
tree3036e6102f537933ebca567caa9a8eb4d8a9570e
parent6c203968f5af720ee2f4a8a17734e40aabe7b96b (diff)
downloadlinux-stable-6a64c5220c5df235448b846aeff3c0660d4cc83e.tar.gz
linux-stable-6a64c5220c5df235448b846aeff3c0660d4cc83e.tar.bz2
linux-stable-6a64c5220c5df235448b846aeff3c0660d4cc83e.zip
autofs: fix missing fput for FSCONFIG_SET_FD
If you pass an fd using FSCONFIG_SET_FD, autofs_parse_fd() "steals" the param->file and so the fs_context infrastructure will not do fput() for us. Fixes: e6ec453bd0f0 ("autofs: convert autofs to use the new mount api") Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> Link: https://lore.kernel.org/r/20240731-fsconfig-fsparam_fd-fixes-v2-1-e7c472224417@cyphar.com Signed-off-by: Christian Brauner <brauner@kernel.org>
-rw-r--r--fs/autofs/inode.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/autofs/inode.c b/fs/autofs/inode.c
index cf792d4de4f1..64faa6c51f60 100644
--- a/fs/autofs/inode.c
+++ b/fs/autofs/inode.c
@@ -172,8 +172,7 @@ static int autofs_parse_fd(struct fs_context *fc, struct autofs_sb_info *sbi,
ret = autofs_check_pipe(pipe);
if (ret < 0) {
errorf(fc, "Invalid/unusable pipe");
- if (param->type != fs_value_is_file)
- fput(pipe);
+ fput(pipe);
return -EBADF;
}