Messages in this thread | | | From | David Howells <> | Subject | Re: [PATCH 03/34] teach move_mount(2) to work with OPEN_TREE_CLONE [ver #12] | Date | Thu, 11 Oct 2018 13:14:56 +0100 |
| |
David Howells <dhowells@redhat.com> wrote:
> The reason that you can do this with open_tree()/move_mount() is that it > allows you to create a mount tree (OPEN_TREE_CLONE) that has no namespace > assignment, pass it through the namespace switch and then attach it inside the > child namespace. The cross-namespace checks in do_move_mount() are bypassed > because the root of the newly-cloned mount tree doesn't have one.
It's worse than that. The apparently disconnected tree given you by open_tree(OPEN_TREE_CLONE) is still subject to modification by outside forces. All it takes is one shared object within that tree.
So I do wonder if it's possible to form a ring, even in an upstream kernel, by using the propagation mechanism to push through an nsfs mount into itself, possibly with a layer of indirection (ie. having two mutually-referential namespaces).
David
| |