Arnd Bergmann wrote: > On Friday 25 September 2009, Oren Laadan wrote: >> In this form, you place a constraints on where userspace may >> place the {parent,child}_tid variable, and require that this >> particular clone_struct remain valid memory in the parent until >> the child terminates. This may break existing programs that >> use this (threads libraries ?) > > No existing program uses sys_clone2, and the kernel function > may well differ from the user space calling conventions, which > are not bound by the six-argument limitation. > > So a clone2 library call could set up the structure with the > arguments to the real syscall, call into the kernel and > copy the output data back into the pointers it was given by > the user. That may work well for parent_tid, however child_tid is also kept on the task_struct and written to when the child exits, and there is no explicit user-space wrapper on that. Also, I may be mistaken, but I thought that the idea of these was that the kernel writes them to user space, so other threads may see them quickly, _before_ the parent returns to userspace; otherwise, the parent (at the library) could himself copy the return value. Oren. _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers