All of lore.kernel.org
 help / color / mirror / Atom feed
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,

  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.