From 1c173eb337ca56139a7d300c34877e97618f0833 Mon Sep 17 00:00:00 2001 From: Michael Kerrisk Date: Wed, 18 Oct 2017 08:37:46 +0200 Subject: [PATCH] clone.2: Rework the discussion of the historical CLONE_PID for clarity Signed-off-by: Michael Kerrisk --- man2/clone.2 | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/man2/clone.2 b/man2/clone.2 index 1d932c3b7..48e3ed88a 100644 --- a/man2/clone.2 +++ b/man2/clone.2 @@ -519,17 +519,18 @@ The store operation completes before .BR clone () returns control to user space. .TP -.BR CLONE_PID " (obsolete)" +.BR CLONE_PID " (Linux 2.0 to 2.5.15)" If .B CLONE_PID is set, the child process is created with the same process ID as the calling process. This is good for hacking the system, but otherwise of not much use. -Since 2.3.21 this flag can be +From Linux 2.3.21 onward, this flag could be specified only by the system boot process (PID 0). -It disappeared in Linux 2.5.16. -Since then, the kernel silently ignores it without error. +The flag disappeared completely from the kernel sources in Linux 2.5.16. +Since then, the kernel silently ignores this bit if it is specified in +.IR flags . .TP .BR CLONE_PTRACE " (since Linux 2.2)" If @@ -1130,6 +1131,7 @@ was specified by an unprivileged process (process without \fBCAP_SYS_ADMIN\fP). .B EPERM .B CLONE_PID was specified by a process other than process 0. +(This error occurs only on Linux 2.5.15 and earlier.) .TP .B EPERM .BR CLONE_NEWUSER