]> git.ipfire.org Git - thirdparty/man-pages.git/commitdiff
core.5: Explain the new situation with argument splitting
authorPaul Wise <pabs3@bonedaddy.net>
Wed, 7 Aug 2019 01:45:25 +0000 (09:45 +0800)
committerMichael Kerrisk <mtk.manpages@gmail.com>
Fri, 13 Sep 2019 12:58:55 +0000 (14:58 +0200)
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>
man5/core.5

index d3efca3f86e0af10df38632fa0231c9065dc2396..ddc0352b8b9879e8fa98435334514edda8de026c 100644 (file)
@@ -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: