Messages in this thread | | | Date | Wed, 14 Oct 2009 11:39:16 -0700 | From | Sukadev Bhattiprolu <> | Subject | Re: [RFC][v8][PATCH 10/10]: Document clone3() syscall |
| |
Arnd Bergmann [arndbergmann@googlemail.com] wrote: | On Tuesday 13 October 2009, Sukadev Bhattiprolu wrote: | > +clone3(struct clone_struct * __user clone_args, pid_t * __user pids) | > + | > + In addition to doing everything that clone() system call does, | > + the clone3() system call: | > + | > + - allows additional clone flags (all 32 bits in the flags | > + parameter to clone() are in use) | > + | > + - allows user to specify a pid for the child process in its | > + active and ancestor pid name spaces. | | Someone (sorry, can't find the old mail) pointed out last time that | the 'pid_t *__user tidptr' argument needs to be an independent pointer, | in order to allow the same use patterns with CLONE_CHILD_SETTID and | CLONE_CHILD_CLEARTID that you can do with the current clone | implementation.
I think it was Oren Laadan.
| | Moving that argument from clone_struct into the argument list would | also make this a three-argument syscall, which solves the naming problem.
How about we pull 'nr_pids' out of clone_args struct and make that a separate parameter. It seems the odd man out and controls the pid_t list parameter. | | Arnd <><
| |