Don't cargo-cult the same thing over and over.

Signed-off-by: Christian Brauner <[email protected]>
---
 kernel/cgroup/namespace.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/kernel/cgroup/namespace.c b/kernel/cgroup/namespace.c
index 144a464e45c6..0391b6ab0bf1 100644
--- a/kernel/cgroup/namespace.c
+++ b/kernel/cgroup/namespace.c
@@ -21,20 +21,16 @@ static void dec_cgroup_namespaces(struct ucounts *ucounts)
 
 static struct cgroup_namespace *alloc_cgroup_ns(void)
 {
-       struct cgroup_namespace *new_ns;
+       struct cgroup_namespace *new_ns __free(kfree) = NULL;
        int ret;
 
        new_ns = kzalloc(sizeof(struct cgroup_namespace), GFP_KERNEL_ACCOUNT);
        if (!new_ns)
                return ERR_PTR(-ENOMEM);
-       ret = ns_alloc_inum(&new_ns->ns);
-       if (ret) {
-               kfree(new_ns);
+       ret = ns_common_init(&new_ns->ns, &cgroupns_operations, true);
+       if (ret)
                return ERR_PTR(ret);
-       }
-       refcount_set(&new_ns->ns.count, 1);
-       new_ns->ns.ops = &cgroupns_operations;
-       return new_ns;
+       return no_free_ptr(new_ns);
 }
 
 void free_cgroup_ns(struct cgroup_namespace *ns)

-- 
2.47.3


Reply via email to