Unverified Commit b5ca8892 authored by Thomas Bertschinger's avatar Thomas Bertschinger Committed by Christian Brauner
Browse files

fhandle: do_handle_open() should get FD with user flags



In f07c7cc4, 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: f07c7cc4 ("fhandle: simplify error handling")
Signed-off-by: default avatarThomas Bertschinger <tahbertschinger@gmail.com>
Link: https://lore.kernel.org/20250814235431.995876-4-tahbertschinger@gmail.com


Reviewed-by: default avatarAmir Goldstein <amir73il@gmail.com>
Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent 6d3c3ca4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;