Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 26287
b: refs/heads/master
c: bcff5cd
h: refs/heads/master
i:
  26285: 5987dbb
  26283: 1018cac
  26279: 8177729
  26271: 0a78015
v: v3
  • Loading branch information
Masami Hiramatsu authored and Linus Torvalds committed Apr 28, 2006
1 parent 6d5f4d8 commit 4b77b46
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: bf661987da6f5131475dfe3f51a98de4e2589ed3
refs/heads/master: bcff5cd667da6eb3df9173626497e3e69b004e42
12 changes: 8 additions & 4 deletions trunk/arch/i386/kernel/kprobes.c
Original file line number Diff line number Diff line change
Expand Up @@ -443,21 +443,25 @@ static void __kprobes resume_execution(struct kprobe *p,
*tos &= ~(TF_MASK | IF_MASK);
*tos |= kcb->kprobe_old_eflags;
break;
case 0xc3: /* ret/lret */
case 0xcb:
case 0xc2:
case 0xc2: /* iret/ret/lret */
case 0xc3:
case 0xca:
case 0xcb:
case 0xcf:
case 0xea: /* jmp absolute -- eip is correct */
/* eip is already adjusted, no more changes required */
p->ainsn.boostable = 1;
goto no_change;
case 0xe8: /* call relative - Fix return addr */
*tos = orig_eip + (*tos - copy_eip);
break;
case 0x9a: /* call absolute -- same as call absolute, indirect */
*tos = orig_eip + (*tos - copy_eip);
goto no_change;
case 0xff:
if ((p->ainsn.insn[1] & 0x30) == 0x10) {
/* call absolute, indirect */
/*
* call absolute, indirect
* Fix return addr; eip is correct.
* But this is not boostable
*/
Expand Down

0 comments on commit 4b77b46

Please sign in to comment.