diff --git a/tools/perf/util/cgroup.c b/tools/perf/util/cgroup.c index 6ce291f45f2dd87710191a078d055ffc3fb4f10a..4dd52feb1ae63e764f26d92879cf036d25eb195d 100644 --- a/tools/perf/util/cgroup.c +++ b/tools/perf/util/cgroup.c @@ -144,12 +144,17 @@ static int add_cgroup(struct perf_evlist *evlist, char *str) return 0; } +static void cgroup__delete(struct cgroup *cgroup) +{ + close(cgroup->fd); + zfree(&cgroup->name); + free(cgroup); +} + void close_cgroup(struct cgroup *cgrp) { if (cgrp && refcount_dec_and_test(&cgrp->refcnt)) { - close(cgrp->fd); - zfree(&cgrp->name); - free(cgrp); + cgroup__delete(cgrp); } }