[PATCH 1/9] tools lib symbol: Skip non-address kallsyms line

From: Jiri Olsa
Date: Thu Feb 15 2018 - 07:30:20 EST


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
...

Link: http://lkml.kernel.org/n/tip-djqwni3p6lgctf6o7xhhwpmw@xxxxxxxxxxxxxx
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
---
tools/lib/symbol/kallsyms.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/tools/lib/symbol/kallsyms.c b/tools/lib/symbol/kallsyms.c
index 914cb8e3d40b..689b6a130dd7 100644
--- a/tools/lib/symbol/kallsyms.c
+++ b/tools/lib/symbol/kallsyms.c
@@ -38,6 +38,10 @@ int kallsyms__parse(const char *filename, void *arg,

len = hex2u64(line, &start);

+ /* Skip the line if we failed to parse the address. */
+ if (!len)
+ continue;
+
len++;
if (len + 2 >= line_len)
continue;
--
2.13.6