From: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@elte.hu>
Cc: Steven Rostedt <rostedt@goodmis.org>,
Srikar Dronamraju <srikar@linux.vnet.ibm.com>,
Linux-mm <linux-mm@kvack.org>,
Arnaldo Carvalho de Melo <acme@infradead.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
Hugh Dickins <hughd@google.com>,
Christoph Hellwig <hch@infradead.org>,
Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
Thomas Gleixner <tglx@linutronix.de>,
Jonathan Corbet <corbet@lwn.net>, Oleg Nesterov <oleg@redhat.com>,
LKML <linux-kernel@vger.kernel.org>,
Jim Keniston <jkenisto@linux.vnet.ibm.com>,
Roland McGrath <roland@hack.frob.com>,
Andi Kleen <andi@firstfloor.org>,
Andrew Morton <akpm@linux-foundation.org>
Subject: [PATCH v4 3.0-rc2-tip 11/22] 11: uprobes: get the breakpoint address.
Date: Tue, 07 Jun 2011 18:30:26 +0530 [thread overview]
Message-ID: <20110607130026.28590.37383.sendpatchset@localhost6.localdomain6> (raw)
In-Reply-To: <20110607125804.28590.92092.sendpatchset@localhost6.localdomain6>
On a breakpoint hit, return the address where the breakpoint was hit.
Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Signed-off-by: Jim Keniston <jkenisto@us.ibm.com>
---
include/linux/uprobes.h | 5 +++++
kernel/uprobes.c | 11 +++++++++++
2 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/include/linux/uprobes.h b/include/linux/uprobes.h
index 4590e9a..838fbaa 100644
--- a/include/linux/uprobes.h
+++ b/include/linux/uprobes.h
@@ -161,6 +161,7 @@ struct vm_area_struct;
extern int mmap_uprobe(struct vm_area_struct *vma);
extern void dup_mmap_uprobe(struct mm_struct *old_mm, struct mm_struct *mm);
extern void free_uprobes_xol_area(struct mm_struct *mm);
+extern unsigned long __weak get_uprobe_bkpt_addr(struct pt_regs *regs);
#else /* CONFIG_UPROBES is not defined */
static inline int register_uprobe(struct inode *inode, loff_t offset,
struct uprobe_consumer *consumer)
@@ -181,5 +182,9 @@ static inline int mmap_uprobe(struct vm_area_struct *vma)
}
static inline void free_uprobe_utask(struct task_struct *tsk) {}
static inline void free_uprobes_xol_area(struct mm_struct *mm) {}
+static inline unsigned long get_uprobe_bkpt_addr(struct pt_regs *regs)
+{
+ return 0;
+}
#endif /* CONFIG_UPROBES */
#endif /* _LINUX_UPROBES_H */
diff --git a/kernel/uprobes.c b/kernel/uprobes.c
index d19c3b0..fa9e9ba 100644
--- a/kernel/uprobes.c
+++ b/kernel/uprobes.c
@@ -1263,6 +1263,17 @@ static void xol_free_insn_slot(struct task_struct *tsk)
__func__, slot_addr);
}
+/**
+ * get_uprobe_bkpt_addr - compute address of bkpt given post-bkpt regs
+ * @regs: Reflects the saved state of the task after it has hit a breakpoint
+ * instruction.
+ * Return the address of the breakpoint instruction.
+ */
+unsigned long __weak get_uprobe_bkpt_addr(struct pt_regs *regs)
+{
+ return instruction_pointer(regs) - UPROBES_BKPT_INSN_SIZE;
+}
+
/*
* Called with no locks held.
* Called in context of a exiting or a exec-ing thread.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-06-07 13:07 UTC|newest]
Thread overview: 120+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-07 12:58 [PATCH v4 3.0-rc2-tip 0/22] 0: Uprobes patchset with perf probe support Srikar Dronamraju
2011-06-07 12:58 ` [PATCH v4 3.0-rc2-tip 1/22] 1: X86 specific breakpoint definitions Srikar Dronamraju
2011-06-07 12:58 ` [PATCH v4 3.0-rc2-tip 2/22] 2: uprobes: Breakground page replacement Srikar Dronamraju
2011-06-09 23:03 ` Peter Zijlstra
2011-06-13 8:48 ` Srikar Dronamraju
2011-06-09 23:03 ` Peter Zijlstra
2011-06-13 8:50 ` Srikar Dronamraju
2011-06-09 23:03 ` Peter Zijlstra
2011-06-09 23:03 ` Peter Zijlstra
2011-06-13 8:59 ` Srikar Dronamraju
2011-06-14 12:57 ` Peter Zijlstra
2011-06-14 14:57 ` Srikar Dronamraju
2011-06-09 23:03 ` Peter Zijlstra
2011-06-13 9:14 ` Srikar Dronamraju
2011-06-13 13:46 ` Oleg Nesterov
2011-06-13 17:00 ` Oleg Nesterov
2011-06-14 12:35 ` Srikar Dronamraju
2011-06-14 14:20 ` Oleg Nesterov
2011-06-15 8:55 ` Srikar Dronamraju
2011-06-15 17:54 ` Oleg Nesterov
2011-06-14 13:01 ` Peter Zijlstra
2011-06-14 14:27 ` Oleg Nesterov
2011-06-14 15:07 ` Peter Zijlstra
2011-06-14 15:40 ` Oleg Nesterov
2011-06-14 18:22 ` Peter Zijlstra
2011-06-16 12:48 ` Peter Zijlstra
2011-06-07 12:58 ` [PATCH v4 3.0-rc2-tip 3/22] 3: uprobes: Adding and remove a uprobe in a rb tree Srikar Dronamraju
2011-06-08 4:12 ` Stephen Wilson
2011-06-08 7:04 ` Josh Stone
2011-06-08 10:29 ` Srikar Dronamraju
2011-06-08 10:30 ` Srikar Dronamraju
2011-06-07 12:59 ` [PATCH v4 3.0-rc2-tip 4/22] 4: Uprobes: register/unregister probes Srikar Dronamraju
2011-06-08 22:10 ` Stephen Wilson
2011-06-09 5:43 ` Srikar Dronamraju
2011-06-09 23:03 ` Peter Zijlstra
2011-06-16 5:40 ` Srikar Dronamraju
2011-06-09 23:03 ` Peter Zijlstra
2011-06-13 16:50 ` Steven Rostedt
2011-06-16 5:26 ` Srikar Dronamraju
2011-06-16 9:42 ` Peter Zijlstra
2011-06-13 19:57 ` Oleg Nesterov
2011-06-14 12:00 ` Srikar Dronamraju
2011-06-14 14:29 ` Oleg Nesterov
2011-06-15 17:30 ` Oleg Nesterov
2011-06-16 5:09 ` Srikar Dronamraju
2011-06-15 17:41 ` Peter Zijlstra
2011-06-16 4:11 ` Srikar Dronamraju
2011-06-16 9:46 ` Peter Zijlstra
2011-06-16 9:54 ` Srikar Dronamraju
2011-06-16 10:09 ` Peter Zijlstra
2011-06-16 13:51 ` Oleg Nesterov
2011-06-17 9:29 ` Srikar Dronamraju
2011-06-15 18:01 ` Peter Zijlstra
2011-07-24 18:07 ` Oleg Nesterov
2011-07-25 12:17 ` Srikar Dronamraju
2011-06-07 12:59 ` [PATCH v4 3.0-rc2-tip 5/22] 5: x86: analyze instruction and determine fixups Srikar Dronamraju
2011-06-09 23:03 ` Peter Zijlstra
2011-06-07 12:59 ` [PATCH v4 3.0-rc2-tip 6/22] 6: uprobes: store/restore original instruction Srikar Dronamraju
2011-06-07 12:59 ` [PATCH v4 3.0-rc2-tip 7/22] 7: uprobes: mmap and fork hooks Srikar Dronamraju
2011-06-08 22:12 ` Stephen Wilson
2011-06-09 5:50 ` Srikar Dronamraju
2011-06-15 18:11 ` Peter Zijlstra
2011-06-16 3:26 ` Srikar Dronamraju
2011-06-16 12:00 ` Peter Zijlstra
2011-06-16 13:00 ` Srikar Dronamraju
2011-06-16 18:23 ` Peter Zijlstra
2011-06-16 18:25 ` Peter Zijlstra
2011-06-17 4:50 ` Srikar Dronamraju
2011-06-17 8:03 ` Peter Zijlstra
2011-06-17 9:05 ` Srikar Dronamraju
2011-06-17 9:41 ` Peter Zijlstra
2011-06-21 13:17 ` Peter Zijlstra
2011-06-22 14:39 ` Srikar Dronamraju
2011-06-24 2:06 ` Srikar Dronamraju
2011-06-24 7:42 ` Peter Zijlstra
2011-06-27 6:45 ` Srikar Dronamraju
2011-06-27 8:57 ` Peter Zijlstra
2011-07-18 9:20 ` Srikar Dronamraju
2011-07-18 14:31 ` Peter Zijlstra
2011-07-19 6:53 ` Srikar Dronamraju
2011-07-20 11:56 ` Peter Zijlstra
2011-06-07 12:59 ` [PATCH v4 3.0-rc2-tip 8/22] 8: x86: architecture specific task information Srikar Dronamraju
2011-06-07 12:59 ` [PATCH v4 3.0-rc2-tip 9/22] 9: uprobes: task specific information Srikar Dronamraju
2011-06-07 13:00 ` [PATCH v4 3.0-rc2-tip 10/22] 10: uprobes: slot allocation for uprobes Srikar Dronamraju
2011-06-07 13:00 ` Srikar Dronamraju [this message]
2011-06-07 13:00 ` [PATCH v4 3.0-rc2-tip 12/22] 12: x86: x86 specific probe handling Srikar Dronamraju
2011-06-07 13:00 ` [PATCH v4 3.0-rc2-tip 13/22] 13: uprobes: Handing int3 and singlestep exception Srikar Dronamraju
2011-06-08 22:11 ` Stephen Wilson
2011-06-09 5:47 ` Srikar Dronamraju
2011-06-16 11:52 ` Peter Zijlstra
2011-06-16 12:04 ` Srikar Dronamraju
2011-06-16 12:35 ` Peter Zijlstra
2011-06-07 13:01 ` [PATCH v4 3.0-rc2-tip 14/22] 14: x86: uprobes exception notifier for x86 Srikar Dronamraju
2011-06-21 13:31 ` Peter Zijlstra
2011-06-21 13:32 ` Peter Zijlstra
2011-06-22 14:54 ` Srikar Dronamraju
2011-06-22 16:40 ` Roland McGrath
2011-06-07 13:01 ` [PATCH v4 3.0-rc2-tip 15/22] 15: uprobes: register a notifier for uprobes Srikar Dronamraju
2011-06-07 13:01 ` [PATCH v4 3.0-rc2-tip 16/22] 16: tracing: Extract out common code for kprobes/uprobes traceevents Srikar Dronamraju
2011-06-07 13:01 ` [PATCH v4 3.0-rc2-tip 17/22] 17: tracing: uprobes trace_event interface Srikar Dronamraju
2011-06-07 13:01 ` [PATCH v4 3.0-rc2-tip 18/22] 18: tracing: Uprobe tracer documentation Srikar Dronamraju
2011-06-07 13:02 ` [PATCH v4 3.0-rc2-tip 19/22] 19: perf: rename target_module to target Srikar Dronamraju
2011-06-07 13:02 ` [PATCH v4 3.0-rc2-tip 20/22] 20: perf: perf interface for uprobes Srikar Dronamraju
2011-06-07 13:30 ` Christoph Hellwig
2011-06-07 13:38 ` Ananth N Mavinakayanahalli
2011-06-07 14:21 ` Arnaldo Carvalho de Melo
2011-06-07 16:06 ` Srikar Dronamraju
2011-06-08 3:41 ` Masami Hiramatsu
2011-06-07 19:59 ` Josh Stone
2011-06-08 3:44 ` Srikar Dronamraju
2011-06-10 11:50 ` Masami Hiramatsu
2011-06-07 13:02 ` [PATCH v4 3.0-rc2-tip 21/22] 21: perf: show possible probes in a given executable file or library Srikar Dronamraju
2011-06-07 13:02 ` [PATCH v4 3.0-rc2-tip 22/22] 22: perf: Documentation for perf uprobes Srikar Dronamraju
2011-06-10 12:03 ` Masami Hiramatsu
2011-06-09 18:42 ` [PATCH v4 3.0-rc2-tip 0/22] 0: Uprobes patchset with perf probe support Peter Zijlstra
2011-06-10 5:56 ` Ananth N Mavinakayanahalli
2011-06-13 9:23 ` Srikar Dronamraju
2011-06-09 23:03 ` Peter Zijlstra
2011-06-10 6:15 ` Masami Hiramatsu
2011-06-13 10:08 ` Srikar Dronamraju
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110607130026.28590.37383.sendpatchset@localhost6.localdomain6 \
--to=srikar@linux.vnet.ibm.com \
--cc=acme@infradead.org \
--cc=akpm@linux-foundation.org \
--cc=ananth@in.ibm.com \
--cc=andi@firstfloor.org \
--cc=corbet@lwn.net \
--cc=hch@infradead.org \
--cc=hughd@google.com \
--cc=jkenisto@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mingo@elte.hu \
--cc=oleg@redhat.com \
--cc=peterz@infradead.org \
--cc=roland@hack.frob.com \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).