aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/event.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2018-10-17 21:28:01 -0700
committerDavid S. Miller <davem@davemloft.net>2018-10-17 21:29:23 -0700
commit776ca1543b5fe673aaf1beb244fcc2429d378083 (patch)
treec40d5e40a9a3746b21520c2d57a45d0de01ed6fe /tools/perf/util/event.c
parentMerge branch 'parisc-4.19-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux (diff)
downloadlinux-dev-776ca1543b5fe673aaf1beb244fcc2429d378083.tar.xz
linux-dev-776ca1543b5fe673aaf1beb244fcc2429d378083.zip
sparc: Fix syscall fallback bugs in VDSO.
First, the trap number for 32-bit syscalls is 0x10. Also, only negate the return value when syscall error is indicated by the carry bit being set. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--tools/perf/util/event.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
index 0cd42150f712..651cd6f6762c 100644
--- a/tools/perf/util/event.c
+++ b/tools/perf/util/event.c
@@ -1081,6 +1081,7 @@ void *cpu_map_data__alloc(struct cpu_map *map, size_t *size, u16 *type, int *max
}
*size += sizeof(struct cpu_map_data);
+ *size = PERF_ALIGN(*size, sizeof(u64));
return zalloc(*size);
}
@@ -1560,7 +1561,9 @@ struct map *thread__find_map(struct thread *thread, u8 cpumode, u64 addr,
return NULL;
}
+#if 0
try_again:
+#endif
al->map = map_groups__find(mg, al->addr);
if (al->map == NULL) {
/*
@@ -1572,6 +1575,7 @@ try_again:
* "[vdso]" dso, but for now lets use the old trick of looking
* in the whole kernel symbol list.
*/
+#if 0
if (cpumode == PERF_RECORD_MISC_USER && machine &&
mg != &machine->kmaps &&
machine__kernel_ip(machine, al->addr)) {
@@ -1579,6 +1583,7 @@ try_again:
load_map = true;
goto try_again;
}
+#endif
} else {
/*
* Kernel maps might be changed when loading symbols so loading