aboutsummaryrefslogtreecommitdiffstats
path: root/man5
diff options
context:
space:
mode:
authorPaul Wise <pabs3@bonedaddy.net>2019-08-07 09:45:25 +0800
committerMichael Kerrisk <mtk.manpages@gmail.com>2019-09-13 14:58:55 +0200
commita33adb814a1f22ce6ad9be5271d0a31aa6808a4e (patch)
treee76be9606f66c736a9168afb69c8f5ae203233f5 /man5
parent986d5d00481d4e2618c41f22f3f6f087b5fa0540 (diff)
downloadman-pages-a33adb814a1f22ce6ad9be5271d0a31aa6808a4e.tar.gz
core.5: Explain the new situation with argument splitting
Things changed in Linux v5.3-rc3 commit 315c69261dd3 from splitting after template expansion to splitting beforehand. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
Diffstat (limited to 'man5')
-rw-r--r--man5/core.514
1 files changed, 14 insertions, 0 deletions
diff --git a/man5/core.5 b/man5/core.5
index d3efca3f86..ddc0352b8b 100644
--- a/man5/core.5
+++ b/man5/core.5
@@ -267,6 +267,20 @@ file.
If the first character of this file is a pipe symbol (\fB|\fP),
then the remainder of the line is interpreted as the command-line for
a user-space program (or script) that is to be executed.
+.PP
+.\" 315c69261dd3fa12dbc830d4fa00d1fad98d3b03
+Since kernel 5.3.0, the pipe template is split on spaces into an
+argument list before the template parameters are expanded.
+In earlier kernels the template parameters are expanded first and
+the resulting string is split on spaces into an argument list.
+This means that in earlier kernels executable names added by the
+%e and %E template parameters could get split into multiple arguments.
+So the core dump handler needs to put the executable names as the last
+argument and ensure it joins all parts of the executable name using spaces.
+Executable names with multiple spaces in them are not correctly represented
+in earlier kernels so the core dump handler needs to use mechanisms to find
+the executable name.
+.PP
Instead of being written to a disk file, the core dump is given as
standard input to the program.
Note the following points: