Commit c0dbd11a authored by Christian Brauner's avatar Christian Brauner Committed by Linus Torvalds
Browse files

fs: actually hold the namespace semaphore



Don't use a scoped guard that only protects the next statement.

Use a regular guard to make sure that the namespace semaphore is held
across the whole function.

Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
Reported-by: default avatarLeon Romanovsky <leon@kernel.org>
Link: https://lore.kernel.org/all/20250401170715.GA112019@unreal/


Fixes: db04662e ("fs: allow detached mounts in clone_private_mount()")
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 56770e24
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2478,7 +2478,8 @@ struct vfsmount *clone_private_mount(const struct path *path)
	struct mount *old_mnt = real_mount(path->mnt);
	struct mount *new_mnt;

	scoped_guard(rwsem_read, &namespace_sem)
	guard(rwsem_read)(&namespace_sem);

	if (IS_MNT_UNBINDABLE(old_mnt))
		return ERR_PTR(-EINVAL);