Fix a race where signals could be handled to the parent of a new process
on the kernel stack of the child, corrupting that stack, and crashing UML
when the next first runs.

Signed-off-by: Jeff Dike <[EMAIL PROTECTED]>

Index: 2.6.10/arch/um/kernel/skas/process.c
===================================================================
--- 2.6.10.orig/arch/um/kernel/skas/process.c   2005-01-16 20:37:25.000000000 
-0500
+++ 2.6.10/arch/um/kernel/skas/process.c        2005-01-16 20:57:16.000000000 
-0500
@@ -224,9 +224,10 @@
        block_signals();
        if(sigsetjmp(fork_buf, 1) == 0)
                new_thread_proc(stack, handler);
-       set_signals(flags);
 
        remove_sigstack();
+
+       set_signals(flags);
 }
 
 void thread_wait(void *sw, void *fb)

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

Reply via email to