Re: [RFC][v7][PATCH 0/9] Implement clone2() system call

Sukadev Bhattiprolu
2009-09-24T20:15:56Z

Oren Laadan [orenl@librato.com] wrote:
|
|
| Sukadev Bhattiprolu wrote:
| > Based on these requirements and constraints, we explored a couple of system
| > call interfaces (in earlier versions of this patchset) and currently define
| > the system call as:
| >
| > struct clone_struct {
| > u64 flags;
| > u64 child_stack;
| > u32 nr_pids;
| > u32 parent_tid;
| > u32 child_tid;
|
| So @parent_tid and @child_tid are pointers to userspace memory and
| require 'u64' (and it won't hurt to make @reserved1 a 'u64' as well).

No, as Arnd pointed out, we already pass in a pointer to 'struct clone_struct'
and the kernel can use that pointer to copy the parent and child tids.

|
| > u32 reserved1;
| > u64 reserved2;
| > };
| >
|
| Also, for forward/backward compatibility, explicitly state in the
| documentation, and enforce in the kernel, that flags which are not
| defined must not be set, and that reserved{1,2} must remain 0.

Good idea. Will do.

Thanks,

Sukadev