Commit-ID: c53b4bb02b45ceec7a590e47820afbb5cef0bb81
Gitweb: https://git.kernel.org/tip/c53b4bb02b45ceec7a590e47820afbb5cef0bb81
Author: Jiri Olsa <[email protected]>
AuthorDate: Thu, 15 Feb 2018 13:26:27 +0100
Committer: Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Fri, 16 Feb 2018 14:25:56 -0300
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 <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: David Ahern <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
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 914cb8e..689b6a1 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;