[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <50399556C9727B4D88A595C8584AAB3752692616@GSjpTKYDCembx32.service.hitachi.net>
Date: Tue, 12 Jan 2016 10:49:19 +0000
From: 平松雅巳 / HIRAMATU,MASAMI
<masami.hiramatsu.pt@...achi.com>
To: "'Wang Nan'" <wangnan0@...wei.com>,
"acme@...nel.org" <acme@...nel.org>
CC: "jolsa@...nel.org" <jolsa@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Arnaldo Carvalho de Melo <acme@...hat.com>,
He Kuang <hekuang@...wei.com>,
Namhyung Kim <namhyung@...nel.org>,
Zefan Li <lizefan@...wei.com>,
"pi3orama@....com" <pi3orama@....com>
Subject: RE: [PATCH 16/53 v2] perf tools: Fix mmap2 event allocation in
synthesize code
>From: Wang Nan [mailto:wangnan0@...wei.com]
>
>perf_event__synthesize_mmap_events() issues mmap2 events, but the
>memory of that event is allocated using:
>
> mmap_event = malloc(sizeof(mmap_event->mmap) + machine->id_hdr_size);
>
>If path of mmap source file is long (near PATH_MAX), random crash
>would happen. Should use sizeof(mmap_event->mmap2).
>
>Fix two memory allocations.
Looks good to me. But hope to have another rename patch soon after this...
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
Thanks,
>
>Signed-off-by: Wang Nan <wangnan0@...wei.com>
>Acked-by: Jiri Olsa <jolsa@...nel.org>
>Cc: Arnaldo Carvalho de Melo <acme@...hat.com>
>Cc: He Kuang <hekuang@...wei.com>
>Cc: Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
>Cc: Namhyung Kim <namhyung@...nel.org>
>Cc: Zefan Li <lizefan@...wei.com>
>Cc: pi3orama@....com
>---
>
>v1 -> v2: Don't rename mmap to mmap2.
>
>---
> tools/perf/util/event.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
>diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
>index cd61bb1..85155e9 100644
>--- a/tools/perf/util/event.c
>+++ b/tools/perf/util/event.c
>@@ -503,7 +503,7 @@ int perf_event__synthesize_thread_map(struct perf_tool *tool,
> if (comm_event == NULL)
> goto out;
>
>- mmap_event = malloc(sizeof(mmap_event->mmap) + machine->id_hdr_size);
>+ mmap_event = malloc(sizeof(mmap_event->mmap2) + machine->id_hdr_size);
> if (mmap_event == NULL)
> goto out_free_comm;
>
>@@ -577,7 +577,7 @@ int perf_event__synthesize_threads(struct perf_tool *tool,
> if (comm_event == NULL)
> goto out;
>
>- mmap_event = malloc(sizeof(mmap_event->mmap) + machine->id_hdr_size);
>+ mmap_event = malloc(sizeof(mmap_event->mmap2) + machine->id_hdr_size);
> if (mmap_event == NULL)
> goto out_free_comm;
>
>--
>1.8.3.4
Powered by blists - more mailing lists