Re: [PATCH 3/3] clone.2: Use pid_t for clone3() {child,parent}_tid

From: Michael Kerrisk (man-pages)
Date: Sun Nov 17 2019 - 13:02:10 EST


On 11/16/19 12:41 PM, Christian Brauner wrote:
> From: Christian Brauner <christian.brauner@xxxxxxxxxx>
>
> Advertise to userspace that they should use proper pid_t types for
> arguments returning a pid.
> The kernel-internal struct kernel_clone_args currently uses int as type
> and since POSIX mandates that pid_t is a signed integer type and glibc
> and friends use int this is not an issue. After the merge window for
> v5.5 closes we can switch struct kernel_clone_args over to using pid_t
> as well without any danger in regressing current userspace.
> Also note, that the new set tid feature which will be merged for v5.5
> uses pid_t types as well.

Thanks taking a further pass throuh this page, Christian,

Patch applied.

Cheers,

Michael


> Signed-off-by: Christian Brauner <christian.brauner@xxxxxxxxxx>
> ---
> man2/clone.2 | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/man2/clone.2 b/man2/clone.2
> index faff2ada6..bf2d7c731 100644
> --- a/man2/clone.2
> +++ b/man2/clone.2
> @@ -183,9 +183,9 @@ is a structure of the following form:
> struct clone_args {
> u64 flags; /* Flags bit mask */
> u64 pidfd; /* Where to store PID file descriptor
> - (\fIint *\fP) */
> + (\fIpid_t *\fP) */
> u64 child_tid; /* Where to store child TID,
> - in child's memory (\fIint *\fP) */
> + in child's memory (\fIpid_t *\fP) */
> u64 parent_tid; /* Where to store child TID,
> in parent's memory (\fIint *\fP) */
> u64 exit_signal; /* Signal to deliver to parent on
>


--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/