Re: [PATCH 2/4] perf cgroup: Fix unmatched call to perf_detach_cgroup()

From: Stephane Eranian
Date: Thu Mar 03 2011 - 02:41:36 EST


On Thu, Mar 3, 2011 at 7:25 AM, Li Zefan <lizf@xxxxxxxxxxxxxx> wrote:
> In the failure path, we call perf_detach_cgroup(), but we didn't
> call perf_get_cgroup() prio to it.
>
the funny thing is that I had this change at some point. But apparently
it got lost in the many revisions of the patch. Thanks for fixing it.

Acked-by: Stephane Eranian <eranian@xxxxxxxxxx>

> Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx>
> ---
> Âkernel/perf_event.c | Â Â6 +++---
> Â1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/kernel/perf_event.c b/kernel/perf_event.c
> index 4a955fd..dca92b2 100644
> --- a/kernel/perf_event.c
> +++ b/kernel/perf_event.c
> @@ -412,6 +412,9 @@ static inline int perf_cgroup_connect(int fd, struct perf_event *event,
> Â Â Â Âcgrp = container_of(css, struct perf_cgroup, css);
> Â Â Â Âevent->cgrp = cgrp;
>
> + Â Â Â /* must be done before we fput() the file */
> + Â Â Â perf_get_cgroup(event);
> +
> Â Â Â Â/*
> Â Â Â Â * all events in a group must monitor
> Â Â Â Â * the same cgroup because a task belongs
> @@ -420,9 +423,6 @@ static inline int perf_cgroup_connect(int fd, struct perf_event *event,
> Â Â Â Âif (group_leader && group_leader->cgrp != cgrp) {
> Â Â Â Â Â Â Â Âperf_detach_cgroup(event);
> Â Â Â Â Â Â Â Âret = -EINVAL;
> - Â Â Â } else {
> - Â Â Â Â Â Â Â /* must be done before we fput() the file */
> - Â Â Â Â Â Â Â perf_get_cgroup(event);
> Â Â Â Â}
> Âout:
> Â Â Â Âfput_light(file, fput_needed);
> --
> 1.6.3
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/