On Fri, 2025-10-24 at 12:52 +0200, Christian Brauner wrote:
> The namespace file handle struct nsfs_file_handle is uapi and userspace
> is expressly allowed to generate file handles without going through
> name_to_handle_at().
>
> Allow userspace to generate a file handle where both the inode number
> and the namespace type are zero and just pass in the unique namespace
> id. The kernel uses the unified namespace tree to find the namespace and
> open the file handle.
>
> When the kernel creates a file handle via name_to_handle_at() it will
> always fill in the type and the inode number allowing userspace to
> retrieve core information.
>
Where is the nsfs filehandle format documented? I didn't see any
reference to it in the manpages.
> Signed-off-by: Christian Brauner <brauner@kernel.org>
> ---
> fs/nsfs.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/nsfs.c b/fs/nsfs.c
> index 8b9bebd11c49..19dc28742a42 100644
> --- a/fs/nsfs.c
> +++ b/fs/nsfs.c
> @@ -502,8 +502,8 @@ static struct dentry *nsfs_fh_to_dentry(struct super_block *sb, struct fid *fh,
> return NULL;
>
> VFS_WARN_ON_ONCE(ns->ns_id != fid->ns_id);
> - VFS_WARN_ON_ONCE(ns->ns_type != fid->ns_type);
> - VFS_WARN_ON_ONCE(ns->inum != fid->ns_inum);
> + if (fid->ns_inum && (fid->ns_inum != ns->inum))
> + return NULL;
>
> /*
> * This is racy because we're not actually taking an
--
Jeff Layton <jlayton@kernel.org>