[PATCH] fix is_at_popf() for compat tasks
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>
This commit is contained in:
Родитель
8578bdf835
Коммит
a752d7194c
|
@ -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 */
|
||||
|
|
Загрузка…
Ссылка в новой задаче