diff options
author | Andrey Konovalov <andrey.konovalov@linaro.org> | 2014-04-15 01:23:48 +0400 |
---|---|---|
committer | Andrey Konovalov <andrey.konovalov@linaro.org> | 2014-04-15 01:23:48 +0400 |
commit | 6613ee6dc52517d1227f25da53ad13b0bf7f667b (patch) | |
tree | f90420a6af2d132e41592dbee10be7b465278771 /kernel | |
parent | 4927de2cbfb20ff234ae8b40cb6f26f7e54b5e2f (diff) | |
parent | c7edc9e326d53ca5ef9bed82de0740c6b107d55b (diff) |
Merge branch 'tracking-uprobes' into merge-linux-linaro-core-tracking
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/events/uprobes.c | 9 | ||||
-rw-r--r-- | kernel/trace/Kconfig | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c index 307d87c0991..04709b66369 100644 --- a/kernel/events/uprobes.c +++ b/kernel/events/uprobes.c @@ -1804,6 +1804,11 @@ static bool handle_trampoline(struct pt_regs *regs) return true; } +bool __weak arch_uprobe_ignore(struct arch_uprobe *aup, struct pt_regs *regs) +{ + return false; +} + /* * Run handler and ask thread to singlestep. * Ensure all non-fatal signals cannot interrupt thread while it singlesteps. @@ -1858,7 +1863,11 @@ static void handle_swbp(struct pt_regs *regs) if (!get_utask()) goto out; + if (arch_uprobe_ignore(&uprobe->arch, regs)) + goto out; + handler_chain(uprobe, regs); + if (can_skip_sstep(uprobe, regs)) goto out; diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig index e24c188cbbc..09eea4f745a 100644 --- a/kernel/trace/Kconfig +++ b/kernel/trace/Kconfig @@ -427,6 +427,7 @@ config UPROBE_EVENT bool "Enable uprobes-based dynamic events" depends on ARCH_SUPPORTS_UPROBES depends on MMU + depends on PERF_EVENTS select UPROBES select PROBE_EVENTS select TRACING |