[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <54ECA760.50407@oracle.com>
Date: Tue, 24 Feb 2015 09:31:28 -0700
From: David Ahern <david.ahern@...cle.com>
To: Adrian Hunter <adrian.hunter@...el.com>,
David Ahern <dsahern@...il.com>, acme@...nel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] perf: Fix probing for PERF_FLAG_FD_CLOEXEC flag
On 2/24/15 4:31 AM, Adrian Hunter wrote:
> How about this:
>
> From: Adrian Hunter <adrian.hunter@...el.com>
> Date: Tue, 24 Feb 2015 13:20:59 +0200
> Subject: [PATCH] perf tools: Fix probing for PERF_FLAG_FD_CLOEXEC flag
>
> Commit f6edb53c4993ffe92ce521fb449d1c146cea6ec2 converted the probe to
> a CPU wide event first (pid == -1). For kernels that do not support
> the PERF_FLAG_FD_CLOEXEC flag the probe fails with EINVAL. Since this
> errno is not handled pid is not reset to 0 and the subsequent use of
> pid = -1 as an argument brings in an additional failure path if
> perf_event_paranoid > 0:
>
> $ perf record -- sleep 1
> perf_event_open(..., 0) failed unexpectedly with error 13 (Permission denied)
> [ perf record: Woken up 1 times to write data ]
> [ perf record: Captured and wrote 0.007 MB /tmp/perf.data (11 samples) ]
This part of the commit message can be removed:
> Since this function only needs to get past this check in kernel/events/core.c:
>
> /* for future expandability... */
> if (flags & ~PERF_FLAG_ALL)
> return -EINVAL;
---
>
> Also, ensure the fd of the confirmation check is closed and comment
> why pid = -1 is used.
>
> Needs to go to 3.18 stable tree as well.
>
> Based-on-patch-by: David Ahern <david.ahern@...cle.com>
> Signed-off-by: Adrian Hunter <adrian.hunter@...el.com>
> ---
> tools/perf/util/cloexec.c | 18 +++++++++++++++---
> 1 file changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/tools/perf/util/cloexec.c b/tools/perf/util/cloexec.c
Acked-by: David Ahern <david.ahern@...cle.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists