summaryrefslogtreecommitdiff
path: root/kernel/cgroup/namespace.c
diff options
context:
space:
mode:
authorElena Reshetova <elena.reshetova@intel.com>2017-02-20 12:19:00 +0200
committerTejun Heo <tj@kernel.org>2017-03-06 14:55:22 -0500
commit387ad9674b0013c8756ad20d854ff005b0c313ad (patch)
tree4e019a943d277232afdd5421276cc48829008214 /kernel/cgroup/namespace.c
parentc1ae3cfa0e89fa1a7ecc4c99031f5e9ae99d9201 (diff)
downloadlwn-387ad9674b0013c8756ad20d854ff005b0c313ad.tar.gz
lwn-387ad9674b0013c8756ad20d854ff005b0c313ad.zip
kernel: convert cgroup_namespace.count from atomic_t to refcount_t
refcount_t type and corresponding API should be used instead of atomic_t when the variable is used as a reference counter. This allows to avoid accidental refcounter overflows that might lead to use-after-free situations. Signed-off-by: Elena Reshetova <elena.reshetova@intel.com> Signed-off-by: Hans Liljestrand <ishkamiel@gmail.com> Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: David Windsor <dwindsor@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'kernel/cgroup/namespace.c')
-rw-r--r--kernel/cgroup/namespace.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/cgroup/namespace.c b/kernel/cgroup/namespace.c
index 96d38dab6fb2..66129eb4371d 100644
--- a/kernel/cgroup/namespace.c
+++ b/kernel/cgroup/namespace.c
@@ -31,7 +31,7 @@ static struct cgroup_namespace *alloc_cgroup_ns(void)
kfree(new_ns);
return ERR_PTR(ret);
}
- atomic_set(&new_ns->count, 1);
+ refcount_set(&new_ns->count, 1);
new_ns->ns.ops = &cgroupns_operations;
return new_ns;
}