diff options
| -rw-r--r-- | tools/perf/util/symbol.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c index 9cf6dbcd158c..48f87f065a2e 100644 --- a/tools/perf/util/symbol.c +++ b/tools/perf/util/symbol.c | |||
| @@ -108,6 +108,8 @@ static size_t symbol__fprintf(struct symbol *self, FILE *fp) | |||
| 108 | 108 | ||
| 109 | static void dso__set_long_name(struct dso *self, char *name) | 109 | static void dso__set_long_name(struct dso *self, char *name) |
| 110 | { | 110 | { |
| 111 | if (name == NULL) | ||
| 112 | return; | ||
| 111 | self->long_name = name; | 113 | self->long_name = name; |
| 112 | self->long_name_len = strlen(name); | 114 | self->long_name_len = strlen(name); |
| 113 | } | 115 | } |
| @@ -1377,8 +1379,11 @@ static int dso__load_kernel_sym(struct dso *self, struct map *map, | |||
| 1377 | { | 1379 | { |
| 1378 | int err = dso__load_vmlinux(self, map, self->name, filter); | 1380 | int err = dso__load_vmlinux(self, map, self->name, filter); |
| 1379 | 1381 | ||
| 1380 | if (err <= 0) | 1382 | if (err <= 0) { |
| 1381 | err = kernel_maps__load_kallsyms(filter); | 1383 | err = kernel_maps__load_kallsyms(filter); |
| 1384 | if (err > 0) | ||
| 1385 | dso__set_long_name(self, strdup("[kernel.kallsyms]")); | ||
| 1386 | } | ||
| 1382 | 1387 | ||
| 1383 | if (err > 0) { | 1388 | if (err > 0) { |
| 1384 | map__fixup_start(map); | 1389 | map__fixup_start(map); |
