@@ -70,12 +70,12 @@ create a new ("child") process, in a manner similar to .PP By contrast with .BRfork(2),-these system cals provide more precise control over what pieces of execution+these system calls provide more precise control over what pieces of execution context are shared between the calling process and the child process. For example, using these system calls, the caller can control whether or not the two processes share the virtual address space, the table of file descriptors, and the table of signal handlers.-These system calls also allow the new child process to placed+These system calls also allow the new child process to be placed in separate .BRnamespaces(7). .PP
From: Christian Brauner <christian@brauner.io> Date: 2019-11-16 11:41:31
From: Christian Brauner <redacted>
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.
Signed-off-by: Christian Brauner <redacted>
---
man2/clone.2 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -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
From: Christian Brauner <christian@brauner.io> Date: 2019-11-16 11:41:34
From: Christian Brauner <redacted>
If mmap() fails it will return MAP_FAILED which according to the manpage
is (void *)-1 not NULL.
Signed-off-by: Christian Brauner <redacted>
---
man2/clone.2 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -70,12 +70,12 @@ create a new ("child") process, in a manner similar to .PP By contrast with .BRfork(2),-these system cals provide more precise control over what pieces of execution+these system calls provide more precise control over what pieces of execution context are shared between the calling process and the child process. For example, using these system calls, the caller can control whether or not the two processes share the virtual address space, the table of file descriptors, and the table of signal handlers.-These system calls also allow the new child process to placed+These system calls also allow the new child process to be placed in separate .BRnamespaces(7). .PP
From: Michael Kerrisk (man-pages) <hidden> Date: 2019-11-17 18:02:10
On 11/16/19 12:41 PM, Christian Brauner wrote:
From: Christian Brauner <redacted>
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
@@ -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