Files
linux-stable-mirror/fs
Jann Horn 805d5a2b79 namespace: restrict OPEN_TREE_NAMESPACE/FSMOUNT_NAMESPACE to directories
open_tree(..., OPEN_TREE_NAMESPACE) and
fsmount(..., FSMOUNT_NAMESPACE, ...) currently work on non-directories,
like regular files. That's bad for two reasons:

 - It ends up mounting a regular file over the inherited namespace root,
   which is a directory; mounting a non-directory over a directory is
   normally explicitly forbidden, see for example do_move_mount()

 - It causes setns() on the new namespace to set the cwd to a regular
   file, which the rest of VFS does not expect

Fix it by restricting create_new_namespace() (which is used by both of
these flags) to directories.

Leave the behavior for OPEN_TREE_CLONE as-is, that seems unproblematic.

Fixes: 9b8a0ba682 ("mount: add OPEN_TREE_NAMESPACE")
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Jan Kara <jack@suse.cz>
Cc: stable@kernel.org
Signed-off-by: Jann Horn <jannh@google.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2026-06-10 07:09:20 -07:00
..
2026-04-20 17:27:28 +02:00
2026-01-02 13:43:41 -05:00
2026-05-30 08:26:18 +02:00
2026-04-03 16:53:50 -04:00
2026-04-01 12:26:07 -07:00
2026-02-19 21:51:00 +09:00
2026-02-19 21:51:00 +09:00
2026-01-12 16:52:09 +01:00
2026-03-23 12:41:58 +01:00