diff options
author | Michael Kerrisk <mtk.manpages@gmail.com> | 2016-04-21 10:15:07 +0200 |
---|---|---|
committer | Michael Kerrisk <mtk.manpages@gmail.com> | 2016-04-21 11:22:08 +0200 |
commit | 246104f0bcb1c85bad3cc8b8fc61bf6b5b853c9f (patch) | |
tree | a3b2affa81b3d70907545a6209bd9e5958023d55 | |
parent | 85a400551680d5b899ed8eaf52f42a78e8af157e (diff) | |
download | man-pages-246104f0bcb1c85bad3cc8b8fc61bf6b5b853c9f.tar.gz |
execve.2: Since Linux 2.6.28, recursive script interpretation is supported
Reported-by: Valery Reznic <valery_reznic@yahoo.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
-rw-r--r-- | man2/execve.2 | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/man2/execve.2 b/man2/execve.2 index 73657d1331..4a57b57a6c 100644 --- a/man2/execve.2 +++ b/man2/execve.2 @@ -273,8 +273,7 @@ permission enabled and whose first line is of the form: The .I interpreter -must be a valid pathname for an -executable which is not itself a script. +must be a valid pathname for an executable file. If the .I filename argument of @@ -302,6 +301,13 @@ For portable use, .I optional-arg should either be absent, or be specified as a single word (i.e., it should not contain white space); see NOTES below. + +Since Linux 2.6.28, +.\" commit bf2a9a39639b8b51377905397a5005f444e9a892 +the kernel permits the interpreter of a script to itself be a script. +This permission is recursive, up to a limit of four recursions, +so that the interpreter may be a script which is interpreted by script, +and so on. .SS Limits on size of arguments and environment Most UNIX implementations impose some limit on the total size of the command-line argument @@ -426,6 +432,14 @@ Too many symbolic links were encountered in resolving .I filename or the name of a script or ELF interpreter. .TP +.B ELOOP +The maximum recursion limit was reached during recursive script +interpretation (see "Interpreter scripts", above). +Before Linux 3.8, +.\" commit d740269867021faf4ce38a449353d2b986c34a67 +the error produced for this case was +.BR ENOEXEC . +.TP .B EMFILE The per-process limit on the number of open file descriptors has been reached. .TP |