Messages in this thread | | | From | Namhyung Kim <> | Subject | Re: [PATCH -tip ] [BUGFIX] perf/probe: Fix to handle errors in line_range searching | Date | Mon, 07 Apr 2014 14:29:46 +0900 |
| |
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@kernel.org>
Thanks, Namhyung
| |