Skip to content

Commit

Permalink
[PATCH] fix is_at_popf() for compat tasks
Browse files Browse the repository at this point in the history
When testing for the REX instruction prefix, first check
for 32-bit mode because in compat mode the REX prefix is an
increment instruction.

Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Signed-off-by: Andi Kleen <ak@suse.de>
  • Loading branch information
Chuck Ebbert authored and Andi Kleen committed Sep 26, 2006
1 parent 8578bdf commit a752d71
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion arch/x86_64/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,11 @@ static int is_at_popf(struct task_struct *child, struct pt_regs *regs)
case 0xf0: case 0xf2: case 0xf3:
continue;

/* REX prefixes */
case 0x40 ... 0x4f:
if (regs->cs != __USER_CS)
/* 32-bit mode: register increment */
return 0;
/* 64-bit mode: REX prefix */
continue;

/* CHECKME: f0, f2, f3 */
Expand Down

0 comments on commit a752d71

Please sign in to comment.