lkml.org 
[lkml]   [2019]   [Oct]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] perf script: Fix obtaining next event
From
Date


On 10/30/19 2:10 PM, Chandan Rajendra wrote:
> The current code segfaults when perf.data file contains two or more
> events. This happens due to incorrect pointer arithmetic being performed
> in trace_find_next_event().
>
> tep_handle->events is an array of pointers to 'struct tep_event'. The
> pointer arithmetic interprets tep_handle->events as an array of 'struct
> tep_event' elements.
>
> This commit replaces the usage of pointer arithmetic with calls to
> tep_get_event().
>
> Fixes: bb3dd7e ("tools lib traceevent, perf tools: Move struct tep_handler definition in a local header file")
> Signed-off-by: Chandan Rajendra <chandanrlinux@gmail.com>

$ sudo ./perf record -e sched:sched_switch -e syscalls:sys_enter_openat -- make

Without patch:
$ sudo ./perf script -g python
Segmentation fault

With patch:
$ sudo ./perf script -g python
generated Python script: perf-script.py

Reviewed-and-tested-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>

\
 
 \ /
  Last update: 2019-10-30 10:47    [W:0.027 / U:0.364 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site