]> www.infradead.org Git - users/hch/misc.git/commitdiff
put_mnt_ns(): use guards
authorAl Viro <viro@zeniv.linux.org.uk>
Thu, 21 Aug 2025 00:22:10 +0000 (20:22 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 2 Sep 2025 23:35:56 +0000 (19:35 -0400)
clean fit; guards can't be weaker due to umount_tree() call.
Setting emptied_ns requires namespace_excl, but not anything
mount_lock-related.

Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/namespace.c

index 898a6b7307e42b983987a6b837e25e6aba1f9e09..86a86be2b0ef180583c9a90efd8d1cced870393b 100644 (file)
@@ -6153,12 +6153,10 @@ void put_mnt_ns(struct mnt_namespace *ns)
 {
        if (!refcount_dec_and_test(&ns->ns.count))
                return;
-       namespace_lock();
+       guard(namespace_excl)();
        emptied_ns = ns;
-       lock_mount_hash();
+       guard(mount_writer)();
        umount_tree(ns->root, 0);
-       unlock_mount_hash();
-       namespace_unlock();
 }
 
 struct vfsmount *kern_mount(struct file_system_type *type)