[tip:perf/core] perf machine: Fix paranoid check in machine__set_kernel_mmap()

From: tip-bot for Namhyung Kim
Date: Wed Feb 21 2018 - 05:36:57 EST


Commit-ID: 1d12cec6ce99614297e10945d917fd8a62cd2b09
Gitweb: https://git.kernel.org/tip/1d12cec6ce99614297e10945d917fd8a62cd2b09
Author: Namhyung Kim <namhyung@xxxxxxxxxx>
AuthorDate: Mon, 19 Feb 2018 19:00:46 +0900
Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
CommitDate: Mon, 19 Feb 2018 09:17:46 -0300

perf machine: Fix paranoid check in machine__set_kernel_mmap()

The machine__set_kernel_mmap() is to setup addresses of the kernel map
using external info. But it has a check when the address is given from
an incorrect input which should have the start and end address of 0
(i.e. machine__process_kernel_mmap_event).

But we also use the end address of 0 for a valid input so change it to
check both start and end addresses.

Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: kernel-team@xxxxxxx
Link: 20180219101936.GD1583@sejong">http://lkml.kernel.org/r/20180219101936.GD1583@sejong
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
tools/perf/util/machine.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index fe27ef5..12b7427 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -1226,7 +1226,7 @@ static void machine__set_kernel_mmap(struct machine *machine,
* Be a bit paranoid here, some perf.data file came with
* a zero sized synthesized MMAP event for the kernel.
*/
- if (machine->vmlinux_maps[i]->end == 0)
+ if (start == 0 && end == 0)
machine->vmlinux_maps[i]->end = ~0ULL;
}
}