From: Stas Sergeev 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 Signed-off-by: Andrew Morton --- arch/i386/kernel/entry.S | 4 ---- arch/i386/kernel/traps.c | 5 ++--- 2 files changed, 2 insertions(+), 7 deletions(-) diff -puN arch/i386/kernel/entry.S~x86-entrys-trap-return-fixes arch/i386/kernel/entry.S --- 25/arch/i386/kernel/entry.S~x86-entrys-trap-return-fixes 2005-04-29 18:54:36.858540648 -0700 +++ 25-akpm/arch/i386/kernel/entry.S 2005-04-29 18:54:36.863539888 -0700 @@ -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) diff -puN arch/i386/kernel/traps.c~x86-entrys-trap-return-fixes arch/i386/kernel/traps.c --- 25/arch/i386/kernel/traps.c~x86-entrys-trap-return-fixes 2005-04-29 18:54:36.859540496 -0700 +++ 25-akpm/arch/i386/kernel/traps.c 2005-04-29 18:54:36.864539736 -0700 @@ -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 _