[PATCH] x86: entry.S trap return fixes
do_debug() and do_int3() return void. This patch fixes the CONFIG_KPROBES variant of do_int3() to return void too and adjusts entry.S accordingly. Signed-off-by: Stas Sergeev <stsp@aknet.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
a2f7c35415
commit
48c88211a6
@ -514,8 +514,6 @@ debug_stack_correct:
|
||||
xorl %edx,%edx # error code 0
|
||||
movl %esp,%eax # pt_regs pointer
|
||||
call do_debug
|
||||
testl %eax,%eax
|
||||
jnz restore_all
|
||||
jmp ret_from_exception
|
||||
|
||||
/*
|
||||
@ -596,8 +594,6 @@ ENTRY(int3)
|
||||
xorl %edx,%edx # zero error code
|
||||
movl %esp,%eax # pt_regs pointer
|
||||
call do_int3
|
||||
testl %eax,%eax
|
||||
jnz restore_all
|
||||
jmp ret_from_exception
|
||||
|
||||
ENTRY(overflow)
|
||||
|
@ -643,16 +643,15 @@ void unset_nmi_callback(void)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_KPROBES
|
||||
fastcall int do_int3(struct pt_regs *regs, long error_code)
|
||||
fastcall void do_int3(struct pt_regs *regs, long error_code)
|
||||
{
|
||||
if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP)
|
||||
== NOTIFY_STOP)
|
||||
return 1;
|
||||
return;
|
||||
/* This is an interrupt gate, because kprobes wants interrupts
|
||||
disabled. Normal trap handlers don't. */
|
||||
restore_interrupts(regs);
|
||||
do_trap(3, SIGTRAP, "int3", 1, regs, error_code, NULL);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user