From: Christian Brauner Date: Tue, 24 Jun 2025 08:29:13 +0000 (+0200) Subject: fhandle, pidfs: support open_by_handle_at() purely based on file handle X-Git-Tag: block-6.17-20250808~55^2~3^2~1 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=b95361481b1e5bd3627835b7e4b921d5a09e68a4;p=linux-block.git fhandle, pidfs: support open_by_handle_at() purely based on file handle Various filesystems such as pidfs (and likely drm in the future) have a use-case to support opening files purely based on the handle without having to require a file descriptor to another object. That's especially the case for filesystems that don't do any lookup whatsoever and there's zero relationship between the objects. Such filesystems are also singletons that stay around for the lifetime of the system meaning that they can be uniquely identified and accessed purely based on the file handle type. Enable that so that userspace doesn't have to allocate an object needlessly especially if they can't do that for whatever reason. Link: https://lore.kernel.org/20250624-work-pidfs-fhandle-v2-10-d02a04858fe3@kernel.org Reviewed-by: Jan Kara Reviewed-by: Amir Goldstein Signed-off-by: Christian Brauner --- diff --git a/fs/fhandle.c b/fs/fhandle.c index 9ef35f8e8989..b1363ead6c5e 100644 --- a/fs/fhandle.c +++ b/fs/fhandle.c @@ -188,6 +188,11 @@ static int get_path_anchor(int fd, struct path *root) return 0; } + if (fd == FD_PIDFS_ROOT) { + pidfs_get_root(root); + return 0; + } + return -EBADF; }