Re: [PATCH -tip ] [BUGFIX] perf/probe: Fix to handle errors in line_range searching

From: Namhyung Kim
Date: Mon Apr 07 2014 - 01:45:09 EST


On Sun, 6 Apr 2014 14:52:48 +0200, Jiri Olsa wrote:
> On Wed, Apr 02, 2014 at 02:48:31PM +0900, Masami Hiramatsu wrote:
>> As Namhyung reported(https://lkml.org/lkml/2014/4/1/89),
>> current perf-probe -L option doesn't handle errors in line-range
>> searching correctly. It causes a SEGV if an error occured in the
>> line-range searching.
>>
>> ----
>> $ perf probe -x ./perf -v -L map__load
>> Open Debuginfo file: /home/namhyung/project/linux/tools/perf/perf
>> fname: util/map.c, lineno:153
>> New line range: 153 to 2147483647
>> path: (null)
>> Segmentation fault (core dumped)
>> ----
>>
>> This is because line_range_inline_cb() ignores errors
>> from find_line_range_by_line() which means that lr->path is
>> already freed on the error path in find_line_range_by_line().
>> As a result, get_real_path() accesses the lr->path and it
>> causes a NULL pointer exception.
>>
>> This fixes line_range_inline_cb() to handle the error correctly,
>> and report it to the caller.
>>
>> Anyway, this just fixes a possible SEGV bug, Namhyung's patch
>> is also required.
>
> will take both.. Namhyung, ack to Masami's change?

Yes,

Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>

Thanks,
Namhyung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/