linux-mips
[Top] [All Lists]

Re: MIPS: return after handling coprocessor 2 exception

To: Jesper Nilsson <jesper@jni.nu>
Subject: Re: MIPS: return after handling coprocessor 2 exception
From: David Daney <ddaney@caviumnetworks.com>
Date: Thu, 17 Jun 2010 10:13:18 -0700
Cc: Ralf Baechle <ralf@linux-mips.org>, linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
In-reply-to: <20100617132554.GB24162@jni.nu>
References: <20100617132554.GB24162@jni.nu>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100430 Fedora/3.0.4-2.fc12 Thunderbird/3.0.4
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@jni.nu>
---
  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

<Prev in Thread] Current Thread [Next in Thread>