lkml.org 
[lkml]   [2011]   [May]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/6] perf tools: Check we are able to read the event size on mmap
    Date
    Check we have enough mmaped space to read the current event
    size from its headers, otherwise we may dereference some
    hell there.

    Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Stephane Eranian <eranian@google.com>
    ---
    tools/perf/util/session.c | 7 +++++++
    1 files changed, 7 insertions(+), 0 deletions(-)

    diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
    index fff6674..61746b5 100644
    --- a/tools/perf/util/session.c
    +++ b/tools/perf/util/session.c
    @@ -1007,6 +1007,13 @@ remap:
    file_pos = file_offset + head;

    more:
    + /*
    + * Ensure we have enough space remaining to read
    + * the size of the event in the headers.
    + */
    + if (head + sizeof(event->header) > mmap_size)
    + goto remap;
    +
    event = (union perf_event *)(buf + head);

    if (session->header.needs_swap)
    --
    1.7.3.2


    \
     
     \ /
      Last update: 2011-05-22 03:49    [W:0.019 / U:64.104 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site