I can live without exec promises. However I believe I have stumbled across an
issue on 6.8 and current.

When I try to exec /bin/sh where promises is a string of all possible promises
from the man page and the second parameter is exec promises.

unix.Pledge(promises, "")

I get
sh[97964]: pledge "stdio", syscall 253

unix.Pledge(promises, promises)

results in no execution and no error

If I use unix.PledgePromises that omits the exec promises instead of unix.Pledge
then it works just fine?

https://github.com/golang/sys/blob/master/unix/pledge_openbsd.go

syscalls.master:
253     STD NOLOCK      { int sys_issetugid(void); }

Reply via email to