Messages in this thread | ![/](/images/icornerl.gif) | | From | Florian Weimer <> | Subject | Re: For review: documentation of clone3() system call | Date | Mon, 11 Nov 2019 16:03:11 +0100 |
| |
* Michael Kerrisk:
> Another difference for the raw clone() system call is that the > stack argument may be NULL, in which case the child uses a dupli‐ > cate of the parent's stack. (Copy-on-write semantics ensure that > the child gets separate copies of stack pages when either process > modifies the stack.) In this case, for correct operation, the > CLONE_VM option should not be specified. (If the child shares the > parent's memory because of the use of the CLONE_VM flag, then no > copy-on-write duplication occurs and chaos is likely to result.)
I think sharing the stack also works with CLONE_VFORK with CLONE_VM, as long as measures are taken to preserve the return address in a register.
Thanks, Florian
| ![\](/images/icornerr.gif) |