aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorThomas Bertschinger <tahbertschinger@gmail.com>2025-08-14 17:54:28 -0600
committerChristian Brauner <brauner@kernel.org>2025-08-15 15:46:57 +0200
commitb5ca88927e353185b3d9ac4362d33e5aeb25771f (patch)
tree8963af05685424175f311b1ca0aee10cab214032
parentmodule: Rename EXPORT_SYMBOL_GPL_FOR_MODULES to EXPORT_SYMBOL_FOR_MODULES (diff)
downloadwireguard-linux-b5ca88927e353185b3d9ac4362d33e5aeb25771f.tar.xz
wireguard-linux-b5ca88927e353185b3d9ac4362d33e5aeb25771f.zip
fhandle: do_handle_open() should get FD with user flags
In f07c7cc4684a, do_handle_open() was switched to use the automatic cleanup method for getting a FD. In that change it was also switched to pass O_CLOEXEC unconditionally to get_unused_fd_flags() instead of passing the user-specified flags. I don't see anything in that commit description that indicates this was intentional, so I am assuming it was an oversight. With this fix, the FD will again be opened with, or without, O_CLOEXEC according to what the user requested. Fixes: f07c7cc4684a ("fhandle: simplify error handling") Signed-off-by: Thomas Bertschinger <tahbertschinger@gmail.com> Link: https://lore.kernel.org/20250814235431.995876-4-tahbertschinger@gmail.com Reviewed-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Christian Brauner <brauner@kernel.org>
-rw-r--r--fs/fhandle.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/fhandle.c b/fs/fhandle.c
index 7c236f64cdea..68a7d2861c58 100644
--- a/fs/fhandle.c
+++ b/fs/fhandle.c
@@ -402,7 +402,7 @@ static long do_handle_open(int mountdirfd, struct file_handle __user *ufh,
if (retval)
return retval;
- CLASS(get_unused_fd, fd)(O_CLOEXEC);
+ CLASS(get_unused_fd, fd)(open_flag);
if (fd < 0)
return fd;