Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tools lib symbol: Skip non-address kallsyms line

Adding check on failed attempt to parse the address and skip the line
parsing early in that case.

The address can be replaced with '(null)' string in case user don't have
enough permissions, like:

$ cat /proc/kallsyms
(null) A irq_stack_union
(null) A __per_cpu_start
...

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180215122635.24029-2-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

authored by

Jiri Olsa and committed by
Arnaldo Carvalho de Melo
c53b4bb0 f1f8ad52

+4
+4
tools/lib/symbol/kallsyms.c
··· 38 38 39 39 len = hex2u64(line, &start); 40 40 41 + /* Skip the line if we failed to parse the address. */ 42 + if (!len) 43 + continue; 44 + 41 45 len++; 42 46 if (len + 2 >= line_len) 43 47 continue;