--- arch/x86/kernel/signal.c.orig 2012-03-08 11:18:19.702651943 +0100 +++ arch/x86/kernel/signal.c 2012-03-08 10:31:18.682304346 +0100 @@ -765,8 +765,11 @@ static void do_signal(struct pt_regs *re * X86_32: vm86 regs switched out by assembly code before reaching * here, so testing against kernel CS suffices. */ - if (!user_mode(regs)) + if (!user_mode(regs)) { + printk(KERN_EMERG "* endless loop\n"); + dump_stack(); return; + } signr = get_signal_to_deliver(&info, &ka, regs, NULL); if (signr > 0) {