[tip:perf/core] perf jit: Check JITHEADER_VERSION

From: tip-bot for Stefano Sanfilippo
Date: Mon Oct 24 2016 - 15:02:18 EST


Commit-ID: 6760d77b708571b925e2dd2b61f847cbee6e0f21
Gitweb: http://git.kernel.org/tip/6760d77b708571b925e2dd2b61f847cbee6e0f21
Author: Stefano Sanfilippo <ssanfilippo@xxxxxxxxxxxx>
AuthorDate: Thu, 13 Oct 2016 03:59:42 -0700
Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
CommitDate: Mon, 24 Oct 2016 11:07:40 -0300

perf jit: Check JITHEADER_VERSION

Check the version number when opening a jitdump file. Accept older
versions, but not newer ones.

Signed-off-by: Stefano Sanfilippo <ssanfilippo@xxxxxxxxxxxx>
Signed-off-by: Ross McIlroy <rmcilroy@xxxxxxxxxxxx>
Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Anton Blanchard <anton@xxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/1476356383-30100-9-git-send-email-eranian@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
tools/perf/util/jitdump.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/tools/perf/util/jitdump.c b/tools/perf/util/jitdump.c
index 6a2688d..c9a941e 100644
--- a/tools/perf/util/jitdump.c
+++ b/tools/perf/util/jitdump.c
@@ -180,6 +180,12 @@ jit_open(struct jit_buf_desc *jd, const char *name)
header.elf_mach,
jd->use_arch_timestamp);

+ if (header.version > JITHEADER_VERSION) {
+ pr_err("wrong jitdump version %u, expected " STR(JITHEADER_VERSION),
+ header.version);
+ goto error;
+ }
+
if (header.flags & JITDUMP_FLAGS_RESERVED) {
pr_err("jitdump file contains invalid or unsupported flags 0x%llx\n",
(unsigned long long)header.flags & JITDUMP_FLAGS_RESERVED);