perf tools: Fix symbol and object code resolution for vdso32 and vdsox32
authorAdrian Hunter <adrian.hunter@intel.com>
Mon, 4 Jun 2018 12:56:54 +0000 (15:56 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 6 Jun 2018 15:52:04 +0000 (12:52 -0300)
Fix __kmod_path__parse() so that perf tools does not treat vdso32 and
vdsox32 as kernel modules and fail to find the object.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Wang Nan <wangnan0@huawei.com>
Cc: stable@vger.kernel.org
Fixes: 1f121b03d058 ("perf tools: Deal with kernel module names in '[]' correctly")
Link: http://lkml.kernel.org/r/1528117014-30032-3-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/dso.c

index cdfc2e5f55f513b063841a7dba636458df7f5f81..51cf82cf18822fc66920f5d5850b4430ad8614ee 100644 (file)
@@ -354,6 +354,8 @@ int __kmod_path__parse(struct kmod_path *m, const char *path,
                if ((strncmp(name, "[kernel.kallsyms]", 17) == 0) ||
                    (strncmp(name, "[guest.kernel.kallsyms", 22) == 0) ||
                    (strncmp(name, "[vdso]", 6) == 0) ||
+                   (strncmp(name, "[vdso32]", 8) == 0) ||
+                   (strncmp(name, "[vdsox32]", 9) == 0) ||
                    (strncmp(name, "[vsyscall]", 10) == 0)) {
                        m->kmod = false;