From: tip-bot for Jiri Olsa <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: acme@redhat.com, mingo@kernel.org, tglx@linutronix.de,
linux-kernel@vger.kernel.org, dsahern@gmail.com, hpa@zytor.com,
namhyung@kernel.org, jolsa@kernel.org, a.p.zijlstra@chello.nl
Subject: [tip:perf/urgent] perf tools: Open perf.data with O_CLOEXEC flag
Date: Wed, 13 Sep 2017 00:44:28 -0700 [thread overview]
Message-ID: <tip-cd6379ebb55ae53e77f17e22ce830bf3fe826736@git.kernel.org> (raw)
In-Reply-To: <20170908084621.31595-2-jolsa@kernel.org>
Commit-ID: cd6379ebb55ae53e77f17e22ce830bf3fe826736
Gitweb: http://git.kernel.org/tip/cd6379ebb55ae53e77f17e22ce830bf3fe826736
Author: Jiri Olsa <jolsa@kernel.org>
AuthorDate: Fri, 8 Sep 2017 10:46:20 +0200
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Tue, 12 Sep 2017 12:34:23 -0300
perf tools: Open perf.data with O_CLOEXEC flag
Do not carry the perf.data file descriptor into the workload process and
close it when perf executes the workload.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/20170908084621.31595-2-jolsa@kernel.org
[ Add definitions for O_CLOEXEC for older systems ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/data.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/tools/perf/util/data.c b/tools/perf/util/data.c
index e84bbc8..263f5a9 100644
--- a/tools/perf/util/data.c
+++ b/tools/perf/util/data.c
@@ -10,6 +10,16 @@
#include "util.h"
#include "debug.h"
+#ifndef O_CLOEXEC
+#ifdef __sparc__
+#define O_CLOEXEC 0x400000
+#elif defined(__alpha__) || defined(__hppa__)
+#define O_CLOEXEC 010000000
+#else
+#define O_CLOEXEC 02000000
+#endif
+#endif
+
static bool check_pipe(struct perf_data_file *file)
{
struct stat st;
@@ -96,7 +106,8 @@ static int open_file_write(struct perf_data_file *file)
if (check_backup(file))
return -1;
- fd = open(file->path, O_CREAT|O_RDWR|O_TRUNC, S_IRUSR|S_IWUSR);
+ fd = open(file->path, O_CREAT|O_RDWR|O_TRUNC|O_CLOEXEC,
+ S_IRUSR|S_IWUSR);
if (fd < 0)
pr_err("failed to open %s : %s\n", file->path,
next prev parent reply other threads:[~2017-09-13 7:46 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-08 8:46 [PATCH 1/3] tools lib api: Fix make DEBUG=1 build Jiri Olsa
2017-09-08 8:46 ` [PATCH 2/3] perf tools: Open perf.data with O_CLOEXEC flag Jiri Olsa
2017-09-08 18:11 ` Arnaldo Carvalho de Melo
2017-09-13 7:44 ` tip-bot for Jiri Olsa [this message]
2017-09-08 8:46 ` [PATCH 3/3] perf tools: Add python-clean target Jiri Olsa
2017-09-22 16:34 ` [tip:perf/core] " tip-bot for Jiri Olsa
2017-09-08 13:29 ` [PATCH 1/3] tools lib api: Fix make DEBUG=1 build Arnaldo Carvalho de Melo
2017-09-13 7:44 ` [tip:perf/urgent] " tip-bot for Jiri Olsa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=tip-cd6379ebb55ae53e77f17e22ce830bf3fe826736@git.kernel.org \
--to=tipbot@zytor.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=dsahern@gmail.com \
--cc=hpa@zytor.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.