[PATCH] proc.5: Clarify the format of /proc/$PID/cmdline

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It is possible to produce /proc/$PID/cmdline files which do not follow
the NUL-seperated format, by using the tricks described in the
paragraph below.

Signed-off-by: Günther Noack <gnoack@xxxxxxxxxx>
---
 man5/proc.5 | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/man5/proc.5 b/man5/proc.5
index a9bb175e8..a16479634 100644
--- a/man5/proc.5
+++ b/man5/proc.5
@@ -497,10 +497,21 @@ unless the process is a zombie.
 .\" In Linux 2.3.26, this also used to be true if the process was swapped out.
 In the latter case, there is nothing in this file:
 that is, a read on this file will return 0 characters.
-The command-line arguments appear in this file as a set of
-strings separated by null bytes (\[aq]\e0\[aq]),
+.IP
+For processes which are still running,
+the command-line arguments appear in this file
+in the same layout as they do in process memory:
+If the process is well-behaved,
+it is a set of strings separated by null bytes (\[aq]\e0\[aq]),
 with a further null byte after the last string.
 .IP
+This is the common case,
+but processes have the freedom to override
+the memory region and break assumptions
+about the contents or format of the
+.IR /proc/ pid /cmdline
+file.
+.IP
 If, after an
 .BR execve (2),
 the process modifies its

base-commit: 4ca216bacc7d185c1af3c384ab53cd1ec74830d1
-- 
2.40.1.698.g37aff9b760-goog





[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux