On 06/17/2010 06:25 AM, Jesper Nilsson wrote:
Breaking here dropped us to the default code which always sends a SIGILL to the current process, no matter what the CU2 notifier says. Signed-off-by: Jesper Nilsson<jesper@xxxxxx> --- traps.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index 8bdd6a6..8527808 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c @@ -976,7 +976,7 @@ asmlinkage void do_cpu(struct pt_regs *regs) case 2: raw_notifier_call_chain(&cu2_chain, CU2_EXCEPTION, regs); - break; + return;
What happens when the call chain is empty, and the proper action *is* SIGILL?
David Daney