aboutsummaryrefslogtreecommitdiff
path: root/kernel/fork.c
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2006-03-16 19:27:08 -0500
committerJeff Garzik <jeff@garzik.org>2006-03-16 19:27:08 -0500
commitabc71c46dc0a12ab7fddc18cfe4f4aa26808c79b (patch)
treeb0c846052b994d57d58713a0cc8da30a22baaf1c /kernel/fork.c
parent30dcbf29cc6d92d70fa262e79e84011fe6913bed (diff)
parent232a347a444e687b5f8cf0f6485704db1c6024d3 (diff)
Merge branch 'upstream-fixes'
Diffstat (limited to 'kernel/fork.c')
-rw-r--r--kernel/fork.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/fork.c b/kernel/fork.c
index a8eab86de7f..ccdfbb16c86 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1062,6 +1062,12 @@ static task_t *copy_process(unsigned long clone_flags,
p->clear_child_tid = (clone_flags & CLONE_CHILD_CLEARTID) ? child_tidptr: NULL;
/*
+ * sigaltstack should be cleared when sharing the same VM
+ */
+ if ((clone_flags & (CLONE_VM|CLONE_VFORK)) == CLONE_VM)
+ p->sas_ss_sp = p->sas_ss_size = 0;
+
+ /*
* Syscall tracing should be turned off in the child regardless
* of CLONE_PTRACE.
*/