diff options
| author | Christian Brauner <brauner@kernel.org> | 2025-11-09 22:11:22 +0100 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2025-11-10 10:20:50 +0100 |
| commit | 0355dcae2d157d95f234a56b540ab110350fd022 (patch) | |
| tree | 032566901b990f7596dcc0f0b85a8ff524a8a670 /kernel/nscommon.c | |
| parent | 8ebfb9896c97ab609222460e705f425cb3f0aad0 (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.c | 9 |
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; /* |