Re: [PATCH] make new mount API honour SB_NOUSER (was Re: [PATCH] block: Avoid mounting the bdev pseudo-filesystem in userspace)
From: Jan Kara
Date: Tue Jun 02 2026 - 05:20:24 EST
On Tue 02-06-26 03:04:44, Al Viro wrote:
> one should *not* be allowed to mount one of those, new API or not.
>
> Reported-by: Denis Arefev <arefev@xxxxxxxxx>
> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Won't it make sense to actually check fc->sb_flags before we call
vfs_create_mount()? Otherwise it looks good to me.
Honza
> ---
> [[ I still want to see the rest of the reproducer - report smells like a missing
> d_can_lookup() somewhere, on top of fsmount(2) bug]]
> diff --git a/fs/namespace.c b/fs/namespace.c
> index fe919abd2f01..17777c837683 100644
> --- a/fs/namespace.c
> +++ b/fs/namespace.c
> @@ -4499,6 +4499,10 @@ SYSCALL_DEFINE3(fsmount, int, fs_fd, unsigned int, flags,
> new_mnt = vfs_create_mount(fc);
> if (IS_ERR(new_mnt))
> return PTR_ERR(new_mnt);
> + if (new_mnt->mnt_sb->s_flags & SB_NOUSER) {
> + mntput(new_mnt);
> + return -EINVAL;
> + }
> new_mnt->mnt_flags = mnt_flags;
>
> new_path.dentry = dget(fc->root);
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR