Re: Linux 3.0.70

From: Andrew Collins
Date: Wed Mar 20 2013 - 18:04:26 EST


Kees Cook (1):
signal: always clear sa_restorer on execve

This commit seems to cause the following build breakage on MIPS in 3.0.70:

kernel/signal.c: In function 'flush_signal_handlers':
kernel/signal.c:441:9: error: 'struct sigaction' has no member named
'sa_restorer'
make[3]: *** [kernel/signal.o] Error 1
make[2]: *** [kernel] Error 2
make[2]: *** Waiting for unfinished jobs....

I'm testing with a variety of additional patches applied and it's a
bit difficult to test vanilla, but this looks unrelated to my local
patches. Looks like MIPS defines SA_RESTORER but doesn't have a
sa_restorer in sigaction so:

--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -437,6 +437,9 @@ flush_signal_handlers(struct task_struct *t, int
force_default)
if (force_default || ka->sa.sa_handler != SIG_IGN)
ka->sa.sa_handler = SIG_DFL;
ka->sa.sa_flags = 0;
+#ifdef SA_RESTORER
+ ka->sa.sa_restorer = NULL;
+#endif
sigemptyset(&ka->sa.sa_mask);
ka++;
}

goes kaboom.

Andrew Collins
--
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/