projects
/
kernel
/
swap-modules.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
131ad64
)
[FIX] userspace instrumentation for CBZ instruction
06/18906/1
author
Vasiliy Ulyanov
<v.ulyanov@samsung.com>
Wed, 2 Apr 2014 14:26:56 +0000
(18:26 +0400)
committer
Vasiliy Ulyanov
<v.ulyanov@samsung.com>
Wed, 2 Apr 2014 14:26:56 +0000
(18:26 +0400)
Change-Id: If75eb74d2299193ce3a30ad964227cbb0612b295
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
uprobe/arch/asm-arm/swap_uprobes.c
patch
|
blob
|
history
diff --git
a/uprobe/arch/asm-arm/swap_uprobes.c
b/uprobe/arch/asm-arm/swap_uprobes.c
index
48ca993
..
a4c1157
100644
(file)
--- a/
uprobe/arch/asm-arm/swap_uprobes.c
+++ b/
uprobe/arch/asm-arm/swap_uprobes.c
@@
-516,8
+516,8
@@
static int arch_copy_trampoline_thumb_uprobe(struct uprobe *up)
} else if (THUMB_INSN_MATCH(CBZ, insn)) {
memcpy(tramp, cbz_insn_execbuf_thumb, tramp_len);
*((unsigned short*)tramp + 13) = 0xdeff;
- *((unsigned short*)tramp + 0) = insn &
(~insn &
0xf8);
- *((unsigned short*)tramp + 0)
&
= 0x20;
+ *((unsigned short*)tramp + 0) = insn &
(~
0xf8);
+ *((unsigned short*)tramp + 0)
|
= 0x20;
addr = cbz_t16_dest(insn, vaddr);
*((unsigned short*)tramp + 14) = (addr & 0x0000ffff) | 0x1;
*((unsigned short*)tramp + 15) = addr >> 16;