summaryrefslogtreecommitdiff
path: root/kernel/nscommon.c
diff options
context:
space:
mode:
authorChristian Brauner <brauner@kernel.org>2025-11-09 22:11:22 +0100
committerChristian Brauner <brauner@kernel.org>2025-11-10 10:20:50 +0100
commit0355dcae2d157d95f234a56b540ab110350fd022 (patch)
tree032566901b990f7596dcc0f0b85a8ff524a8a670 /kernel/nscommon.c
parent8ebfb9896c97ab609222460e705f425cb3f0aad0 (diff)
ns: don't skip active reference count initialization
Don't skip active reference count initialization for initial namespaces. Doing this will break network namespace active reference counting. Link: https://patch.msgid.link/20251109-namespace-6-19-fixes-v1-1-ae8a4ad5a3b3@kernel.org Fixes: 3a18f809184b ("ns: add active reference count") Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'kernel/nscommon.c')
-rw-r--r--kernel/nscommon.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/kernel/nscommon.c b/kernel/nscommon.c
index 6fe1c747fa46..d67ae7ad7759 100644
--- a/kernel/nscommon.c
+++ b/kernel/nscommon.c
@@ -54,7 +54,7 @@ static void ns_debug(struct ns_common *ns, const struct proc_ns_operations *ops)
int __ns_common_init(struct ns_common *ns, u32 ns_type, const struct proc_ns_operations *ops, int inum)
{
- int ret;
+ int ret = 0;
refcount_set(&ns->__ns_ref, 1);
ns->stashed = NULL;
@@ -74,11 +74,10 @@ int __ns_common_init(struct ns_common *ns, u32 ns_type, const struct proc_ns_ope
ns_debug(ns, ops);
#endif
- if (inum) {
+ if (inum)
ns->inum = inum;
- return 0;
- }
- ret = proc_alloc_inum(&ns->inum);
+ else
+ ret = proc_alloc_inum(&ns->inum);
if (ret)
return ret;
/*