From 9c18d55a768a3e60ecaba1325e9a3e00a25dee26 Mon Sep 17 00:00:00 2001 From: Kyle Evans Date: Thu, 30 Apr 2026 22:02:55 -0500 Subject: [PATCH] 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 , kib Differential Revision: https://reviews.freebsd.org/D56704 --- lib/libsys/execve.2 | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/libsys/execve.2 b/lib/libsys/execve.2 index dc85b9321e4..5562e198239 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