Do not carry the perf.data file descriptor into
the workload process and close it when perf
executes the workload.

Link: http://lkml.kernel.org/n/tip-j7qdp4ucreain1cqvy485...@git.kernel.org
Signed-off-by: Jiri Olsa <jo...@kernel.org>
---
 tools/perf/util/data.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/data.c b/tools/perf/util/data.c
index e84bbc8ec058..6b9d3ec2c276 100644
--- a/tools/perf/util/data.c
+++ b/tools/perf/util/data.c
@@ -96,7 +96,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,
-- 
2.9.5

Reply via email to