diff options
| author | Ingo Molnar <mingo@kernel.org> | 2014-06-05 05:18:03 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2014-06-05 06:26:27 -0400 |
| commit | c56d34064b6eb9f9cde9e35bbfe16eedf3d81f94 (patch) | |
| tree | 9877ef9e1b238e14a1878f10d51ea55fbca5f619 /include/linux | |
| parent | b13fa91421213a8d1fd05086050f05e994f3b72d (diff) | |
| parent | a03b1e1c372b60183b8141cdd161316429fab5ac (diff) | |
Merge branch 'perf/uprobes' into perf/core
These bits from Oleg are fully cooked, ship them to Linus.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/uprobes.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/uprobes.h b/include/linux/uprobes.h index edff2b97b864..88c3b7e8b384 100644 --- a/include/linux/uprobes.h +++ b/include/linux/uprobes.h | |||
| @@ -102,6 +102,7 @@ extern int __weak set_orig_insn(struct arch_uprobe *aup, struct mm_struct *mm, u | |||
| 102 | extern bool __weak is_swbp_insn(uprobe_opcode_t *insn); | 102 | extern bool __weak is_swbp_insn(uprobe_opcode_t *insn); |
| 103 | extern bool __weak is_trap_insn(uprobe_opcode_t *insn); | 103 | extern bool __weak is_trap_insn(uprobe_opcode_t *insn); |
| 104 | extern unsigned long __weak uprobe_get_swbp_addr(struct pt_regs *regs); | 104 | extern unsigned long __weak uprobe_get_swbp_addr(struct pt_regs *regs); |
| 105 | extern unsigned long uprobe_get_trap_addr(struct pt_regs *regs); | ||
| 105 | extern int uprobe_write_opcode(struct mm_struct *mm, unsigned long vaddr, uprobe_opcode_t); | 106 | extern int uprobe_write_opcode(struct mm_struct *mm, unsigned long vaddr, uprobe_opcode_t); |
| 106 | extern int uprobe_register(struct inode *inode, loff_t offset, struct uprobe_consumer *uc); | 107 | extern int uprobe_register(struct inode *inode, loff_t offset, struct uprobe_consumer *uc); |
| 107 | extern int uprobe_apply(struct inode *inode, loff_t offset, struct uprobe_consumer *uc, bool); | 108 | extern int uprobe_apply(struct inode *inode, loff_t offset, struct uprobe_consumer *uc, bool); |
| @@ -130,6 +131,9 @@ extern bool __weak arch_uprobe_ignore(struct arch_uprobe *aup, struct pt_regs *r | |||
| 130 | #else /* !CONFIG_UPROBES */ | 131 | #else /* !CONFIG_UPROBES */ |
| 131 | struct uprobes_state { | 132 | struct uprobes_state { |
| 132 | }; | 133 | }; |
| 134 | |||
| 135 | #define uprobe_get_trap_addr(regs) instruction_pointer(regs) | ||
| 136 | |||
| 133 | static inline int | 137 | static inline int |
| 134 | uprobe_register(struct inode *inode, loff_t offset, struct uprobe_consumer *uc) | 138 | uprobe_register(struct inode *inode, loff_t offset, struct uprobe_consumer *uc) |
| 135 | { | 139 | { |
