[PATCH 0/3] fs: don't warn when a mount is completed from another user namespace
Christian Brauner <[email protected]> Sun, 02 Aug 2026 20:00:42 +0200
| Newsgroups | org.kernel.vger.linux-unionfs,org.kernel.vger.linux-fsdevel,org.kernel.vger.stable,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
fsopen() records the caller's user namespace in fc->user_ns and hands back an ordinary file descriptor. The task that calls fsconfig(CMD_CREATE) doesn't have to be the one that created the context, and mount_capable() lets it through as long as the caller has CAP_SYS_ADMIN over fc->user_ns, which anyone in an ancestor namespace does. So fc->user_ns != current_user_ns() is something an unprivileged user can arrange. Both overlayfs and binfmt_misc WARN_ON() that. They're plain WARN_ON()s, so it can be done in a loop to taint the kernel and flood the log, and it panics a machine booted with panic_on_warn. Keep refusing the mount, just stop warning about it. Overlayfs already spells the same check as a plain error return in ovl_parse_param() for Opt_override_creds. And add a selftest for both cases. Signed-off-by: Christian Brauner (Amutable) <[email protected]> --- Christian Brauner (3): ovl: don't warn when the mount is completed from another user namespace binfmt_misc: don't warn when the mount is completed from another user namespace selftests/filesystems: test completing a context from another user namespace fs/binfmt_misc.c | 3 +- fs/overlayfs/super.c | 3 +- tools/testing/selftests/Makefile | 1 + .../selftests/filesystems/fscontext_ns/Makefile | 10 + .../filesystems/fscontext_ns/fscontext_ns_test.c | 239 +++++++++++++++++++++ 5 files changed, 254 insertions(+), 2 deletions(-) --- base-commit: c679ce3be6cb63763d68ab9b5d9d73ddc0a40762 change-id: 20260802-work-fill_super-warn-a7fa82502843