diff --git a/[refs] b/[refs] index 64893fe8d562..fe1a5df6b707 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 63e1fd41c7127650d355e7db7dd92890edf5523b +refs/heads/master: f9a3879abf2f1a27c39915e6074b8ff15a24cb55 diff --git a/trunk/kernel/fork.c b/trunk/kernel/fork.c index a8eab86de7f1..ccdfbb16c86d 100644 --- a/trunk/kernel/fork.c +++ b/trunk/kernel/fork.c @@ -1061,6 +1061,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.