| From 94dc3ae6c2b0bf7ed53849eca0f8524b238e2bdc Mon Sep 17 00:00:00 2001 |
| From: Steve MacLean <Steve.MacLean@microsoft.com> |
| Date: Sat, 28 Sep 2019 01:41:18 +0000 |
| Subject: [PATCH] perf inject jit: Fix JIT_CODE_MOVE filename |
| |
| commit b59711e9b0d22fd47abfa00602fd8c365cdd3ab7 upstream. |
| |
| During perf inject --jit, JIT_CODE_MOVE records were injecting MMAP records |
| with an incorrect filename. Specifically it was missing the ".so" suffix. |
| |
| Further the JIT_CODE_LOAD record were silently truncating the |
| jr->load.code_index field to 32 bits before generating the filename. |
| |
| Make both records emit the same filename based on the full 64 bit |
| code_index field. |
| |
| Fixes: 9b07e27f88b9 ("perf inject: Add jitdump mmap injection support") |
| Cc: stable@vger.kernel.org # v4.6+ |
| Signed-off-by: Steve MacLean <Steve.MacLean@Microsoft.com> |
| Acked-by: Jiri Olsa <jolsa@kernel.org> |
| Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> |
| Cc: Andi Kleen <ak@linux.intel.com> |
| Cc: Brian Robbins <brianrob@microsoft.com> |
| Cc: Davidlohr Bueso <dave@stgolabs.net> |
| Cc: Eric Saint-Etienne <eric.saint.etienne@oracle.com> |
| Cc: John Keeping <john@metanate.com> |
| Cc: John Salem <josalem@microsoft.com> |
| Cc: Leo Yan <leo.yan@linaro.org> |
| Cc: Mark Rutland <mark.rutland@arm.com> |
| Cc: Namhyung Kim <namhyung@kernel.org> |
| Cc: Peter Zijlstra <peterz@infradead.org> |
| Cc: Song Liu <songliubraving@fb.com> |
| Cc: Stephane Eranian <eranian@google.com> |
| Cc: Tom McDonald <thomas.mcdonald@microsoft.com> |
| Link: http://lore.kernel.org/lkml/BN8PR21MB1362FF8F127B31DBF4121528F7800@BN8PR21MB1362.namprd21.prod.outlook.com |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/tools/perf/util/jitdump.c b/tools/perf/util/jitdump.c |
| index eda28d3570bc..d94ee08924ae 100644 |
| --- a/tools/perf/util/jitdump.c |
| +++ b/tools/perf/util/jitdump.c |
| @@ -395,7 +395,7 @@ static int jit_repipe_code_load(struct jit_buf_desc *jd, union jr_entry *jr) |
| size_t size; |
| u16 idr_size; |
| const char *sym; |
| - uint32_t count; |
| + uint64_t count; |
| int ret, csize, usize; |
| pid_t pid, tid; |
| struct { |
| @@ -418,7 +418,7 @@ static int jit_repipe_code_load(struct jit_buf_desc *jd, union jr_entry *jr) |
| return -1; |
| |
| filename = event->mmap2.filename; |
| - size = snprintf(filename, PATH_MAX, "%s/jitted-%d-%u.so", |
| + size = snprintf(filename, PATH_MAX, "%s/jitted-%d-%" PRIu64 ".so", |
| jd->dir, |
| pid, |
| count); |
| @@ -531,7 +531,7 @@ static int jit_repipe_code_move(struct jit_buf_desc *jd, union jr_entry *jr) |
| return -1; |
| |
| filename = event->mmap2.filename; |
| - size = snprintf(filename, PATH_MAX, "%s/jitted-%d-%"PRIu64, |
| + size = snprintf(filename, PATH_MAX, "%s/jitted-%d-%" PRIu64 ".so", |
| jd->dir, |
| pid, |
| jr->move.code_index); |
| -- |
| 2.7.4 |
| |