aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSrikar Dronamraju <[email protected]>2012-02-22 14:45:49 +0530
committerIngo Molnar <[email protected]>2012-02-22 11:26:08 +0100
commit96379f60075c75b261328aa7830ef8aa158247ac (patch)
treec9aa431293c4a61ae30a4b34f0025ab30afed08b
parent04a3d984d32e47983770d314cdb4e4d8f38fccb7 (diff)
uprobes/core: Remove uprobe_opcode_sz
uprobe_opcode_sz refers to the smallest instruction size for that architecture. UPROBES_BKPT_INSN_SIZE refers to the size of the breakpoint instruction for that architecture. For now we are assuming that both uprobe_opcode_sz and UPROBES_BKPT_INSN_SIZE are the same for all archs and hence removing uprobe_opcode_sz in favour of UPROBES_BKPT_INSN_SIZE. However if we have to support architectures where the smallest instruction size is different from the size of breakpoint instruction, we may have to re-introduce uprobe_opcode_sz. Signed-off-by: Srikar Dronamraju <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Oleg Nesterov <[email protected]> Cc: Christoph Hellwig <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Masami Hiramatsu <[email protected]> Cc: Anton Arapov <[email protected]> Cc: Ananth N Mavinakayanahalli <[email protected]> Cc: Jim Keniston <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Josh Stone <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Ingo Molnar <[email protected]>
-rw-r--r--include/linux/uprobes.h2
-rw-r--r--kernel/events/uprobes.c6
2 files changed, 3 insertions, 5 deletions
diff --git a/include/linux/uprobes.h b/include/linux/uprobes.h
index 64e45f116b2a..fd45b70750d4 100644
--- a/include/linux/uprobes.h
+++ b/include/linux/uprobes.h
@@ -37,8 +37,6 @@ struct uprobe_arch_info {};
#define MAX_UINSN_BYTES 4
#endif
-#define uprobe_opcode_sz sizeof(uprobe_opcode_t)
-
/* flags that denote/change uprobes behaviour */
/* Have a copy of original instruction */
diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c
index 884817f1b0d3..ee496ad95db3 100644
--- a/kernel/events/uprobes.c
+++ b/kernel/events/uprobes.c
@@ -244,8 +244,8 @@ static int write_opcode(struct mm_struct *mm, struct uprobe *uprobe,
/* poke the new insn in, ASSUMES we don't cross page boundary */
vaddr &= ~PAGE_MASK;
- BUG_ON(vaddr + uprobe_opcode_sz > PAGE_SIZE);
- memcpy(vaddr_new + vaddr, &opcode, uprobe_opcode_sz);
+ BUG_ON(vaddr + UPROBES_BKPT_INSN_SIZE > PAGE_SIZE);
+ memcpy(vaddr_new + vaddr, &opcode, UPROBES_BKPT_INSN_SIZE);
kunmap_atomic(vaddr_new);
kunmap_atomic(vaddr_old);
@@ -293,7 +293,7 @@ static int read_opcode(struct mm_struct *mm, unsigned long vaddr, uprobe_opcode_
lock_page(page);
vaddr_new = kmap_atomic(page);
vaddr &= ~PAGE_MASK;
- memcpy(opcode, vaddr_new + vaddr, uprobe_opcode_sz);
+ memcpy(opcode, vaddr_new + vaddr, UPROBES_BKPT_INSN_SIZE);
kunmap_atomic(vaddr_new);
unlock_page(page);