aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Kerrisk <mtk.manpages@gmail.com>2016-04-21 10:15:07 +0200
committerMichael Kerrisk <mtk.manpages@gmail.com>2016-04-21 11:22:08 +0200
commit246104f0bcb1c85bad3cc8b8fc61bf6b5b853c9f (patch)
treea3b2affa81b3d70907545a6209bd9e5958023d55
parent85a400551680d5b899ed8eaf52f42a78e8af157e (diff)
downloadman-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.218
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