From: Oleg Nesterov <o...@redhat.com> uprobe_trace_print() and uprobe_perf_print() need to pass the additional info to call_fetch() methods, currently there is no simple way to do this.
current->utask looks like a natural place to hold this info, but we need to allocate it before handler_chain(). This is a bit unfortunate, perhaps we will find a better solution later, but this is simnple and should work right now. Signed-off-by: Oleg Nesterov <o...@redhat.com> Cc: Srikar Dronamraju <sri...@linux.vnet.ibm.com> Cc: Masami Hiramatsu <masami.hiramatsu...@hitachi.com> Signed-off-by: Namhyung Kim <namhy...@kernel.org> --- kernel/events/uprobes.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c index 24b7d6ca871b..3cc8e0bb8acf 100644 --- a/kernel/events/uprobes.c +++ b/kernel/events/uprobes.c @@ -1828,6 +1828,10 @@ static void handle_swbp(struct pt_regs *regs) if (unlikely(!test_bit(UPROBE_COPY_INSN, &uprobe->flags))) goto out; + /* Tracing handlers use ->utask to communicate with fetch methods */ + if (!get_utask()) + goto out; + handler_chain(uprobe, regs); if (can_skip_sstep(uprobe, regs)) goto out; -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/