diff options
| author | Christian Brauner <brauner@kernel.org> | 2025-09-17 13:28:05 +0300 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2025-09-19 15:26:18 +0300 |
| commit | 86cdbae5c61c6b8c0a2adc78dbbb0314b3254a9c (patch) | |
| tree | 5f13878481488bd19369393fcd2814f9ea0d3609 | |
| parent | cc47f434271ba90c18c16e0bba360df38a8bc954 (diff) | |
| download | linux-86cdbae5c61c6b8c0a2adc78dbbb0314b3254a9c.tar.xz | |
mnt: simplify ns_common_init() handling
Assign the reserved MNT_NS_ANON_INO sentinel to anonymous mount
namespaces and cleanup the initial mount ns allocation. This is just a
preparatory patch and the ns->inum check in ns_common_init() will be
dropped in the next patch.
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Christian Brauner <brauner@kernel.org>
| -rw-r--r-- | fs/namespace.c | 2 | ||||
| -rw-r--r-- | kernel/nscommon.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/fs/namespace.c b/fs/namespace.c index f0bddc9cf2a6..b2fcb901ad8c 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -4103,6 +4103,8 @@ static struct mnt_namespace *alloc_mnt_ns(struct user_namespace *user_ns, bool a return ERR_PTR(-ENOMEM); } + if (anon) + new_ns->ns.inum = MNT_NS_ANON_INO; ret = ns_common_init(&new_ns->ns, &mntns_operations, !anon); if (ret) { kfree(new_ns); diff --git a/kernel/nscommon.c b/kernel/nscommon.c index ebf4783d0505..e10fad8afe61 100644 --- a/kernel/nscommon.c +++ b/kernel/nscommon.c @@ -5,7 +5,7 @@ int ns_common_init(struct ns_common *ns, const struct proc_ns_operations *ops, bool alloc_inum) { - if (alloc_inum) { + if (alloc_inum && !ns->inum) { int ret; ret = proc_alloc_inum(&ns->inum); if (ret) |
