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

From: Sukadev Bhattiprolu
Date: Thu Sep 24 2009 - 16:16:03 EST


Oren Laadan [orenl@xxxxxxxxxxx] 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/