Subject: linux-next: manual merge of the vfs tree with the fs-next tree

From: Mark Brown <[email-masked]>
Date: Mon, 15 Sep 2025 17:38:27 +0100

Hi all,

Today's linux-next merge of the vfs tree got a conflict in:

  fs/namespace.c

between commit:

  96ff702edaec8 ("mnt: support ns lookup")

from the fs-next tree and commit:

  91e682db2fbe1 ("mnt_ns_tree_remove(): DTRT if mnt_ns had never been added to mnt_ns_list")

from the vfs tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

diff --cc fs/namespace.c
index e3ac6e06be70d,aeeb33bf3e7b3..0000000000000
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@@ -153,10 -195,26 +161,10 @@@ static void mnt_ns_release_rcu(struct r
  static void mnt_ns_tree_remove(struct mnt_namespace *ns)
  {
  	/* remove from global mount namespace list */
- 	if (!is_anon_ns(ns))
 -	if (!list_empty(&ns->mnt_ns_list)) {
 -		mnt_ns_tree_write_lock();
 -		rb_erase(&ns->mnt_ns_tree_node, &mnt_ns_tree);
 -		list_bidir_del_rcu(&ns->mnt_ns_list);
 -		mnt_ns_tree_write_unlock();
 -	}
++	if (!list_empty(&ns->mnt_ns_list))
 +		ns_tree_remove(ns);
  
 -	call_rcu(&ns->mnt_ns_rcu, mnt_ns_release_rcu);
 -}
 -
 -static int mnt_ns_find(const void *key, const struct rb_node *node)
 -{
 -	const u64 mnt_ns_id = *(u64 *)key;
 -	const struct mnt_namespace *ns = node_to_mnt_ns(node);
 -
 -	if (mnt_ns_id < ns->seq)
 -		return -1;
 -	if (mnt_ns_id > ns->seq)
 -		return 1;
 -	return 0;
 +	call_rcu(&ns->ns.ns_rcu, mnt_ns_release_rcu);
  }
  
  /*