Re: [Patch][resend] SGI-XP: Handle non-fatal traps.

From: Andrew Morton
Date: Tue Dec 18 2012 - 15:01:04 EST


> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxx>, Linux-kernel <linux-kernel@xxxxxxxxxxxxxxx>, stable@xxxxxxxxxx

It's stable@xxxxxxxxxxxxxxxx

On Tue, 18 Dec 2012 11:52:43 -0600
Robin Holt <holt@xxxxxxx> wrote:

> We found a user code which was raising a divide-by-zero trap. That trap
> would lead to XPC connections between system-partitions being torn down
> due to the die_chain notifier callouts it received.
>
> This also revealed a different issue where multiple callers into
> xpc_die_deactivate() would all attempt to do the disconnect in parallel
> which would sometimes lock up but often overwhelm the console on very
> large machines as each would print at least one line of output at the
> end of the deactivate.
>
> I reviewed all the users of the die_chain notifier and changed the code
> to ignore the notifier callouts for reasons which will not actually lead
> to a system to continue on to call die().
>
> ...
>
> --- linux.orig/drivers/misc/sgi-xp/xpc_main.c
> +++ linux/drivers/misc/sgi-xp/xpc_main.c
> @@ -53,6 +53,8 @@
> #include <linux/kthread.h>
> #include "xpc.h"
>
> +#include <asm/traps.h>

You just broke ia64 ;)

As there was no cleaner alternative apparent to me, I did this:

--- a/drivers/misc/sgi-xp/xpc_main.c~sgi-xp-handle-non-fatal-traps-fix
+++ a/drivers/misc/sgi-xp/xpc_main.c
@@ -53,7 +53,9 @@
#include <linux/kthread.h>
#include "xpc.h"

+#ifdef CONFIG_X86_64
#include <asm/traps.h>
+#endif

/* define two XPC debug device structures to be used with dev_dbg() et al */


But I worry that the change apparently hasn't been runtime tested on
ia64?


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/