aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyle Evans <kevans@FreeBSD.org>2026-05-01 03:02:55 +0000
committerKyle Evans <kevans@FreeBSD.org>2026-05-01 03:02:55 +0000
commit9c18d55a768a3e60ecaba1325e9a3e00a25dee26 (patch)
treec5647e890fb0a1da13016a5841eedad9584dc1af
parent4d4acdbfc22c84081037f31cff4fb03d18373036 (diff)
fexecve(2): call out a scenario where you want !O_EXEC
We note a reason why you might need it, but there's an equally important reason you may need to omit it: interpreted programs. Add a note accordingly, along with the workaround configuration if there's reason you can't help it. PR: 294780 Reviewed by: Jan Bramkamp <crest_freebsd_rlwinm.de>, kib Differential Revision: https://reviews.freebsd.org/D56704
-rw-r--r--lib/libsys/execve.213
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/libsys/execve.2 b/lib/libsys/execve.2
index dc85b9321e48..5562e198239a 100644
--- a/lib/libsys/execve.2
+++ b/lib/libsys/execve.2
@@ -25,7 +25,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd July 02, 2025
+.Dd April 29, 2026
.Dt EXECVE 2
.Os
.Sh NAME
@@ -232,6 +232,17 @@ is to use the
.Dv O_EXEC
flag when opening
.Fa fd .
+Opening without
+.Dv O_EXEC
+may be necessary in the case of executing an interpreted program, as the
+interpreter will not be able to acquire a descriptor to the script for reading
+without mounting
+.Xr fdescfs 4
+on
+.Pa /dev/fd
+with the
+.Cm nodup
+option.
Note that the file to be executed can not be open for writing.
.Sh RETURN VALUES
As the