interesting.  Yes, msyscall() should probably be in the "stdio" set.

But I've been considering deleting execpromises.  It was put in as an
experiment, and I tried to make code in the base use it.  I was unable
to find great usage cases, and so I am considering deleting it.

Andrea Biscuola <a...@abiscuola.com> wrote:

> Hi @misc
> 
> It appear the introduction of msyscall(2), broke the existing code
> of one of my projects.
> 
> My code use a fork+exec model for executing different commands
> and pledge(2) is used for restricting the behavior of the child
> process using the execpromises argument.
> 
> The problem is that, when a child process that was forked with
> the execpromises argument set load a new program, the process
> is killed because msyscall(2) is not permitted by the parent pledge(2).
> 
> I checked in the /usr/src/sys/kern/kern_pledge.c file and it appear
> the msyscall(2) system call is not added to any category yet, thus
> not allowing me to use the execpromises argument for now.
> 
> At the moment, I solved the problem by setting the execpromises
> for the pledge(2) calls to NULL.
> 
> Is this expected? It's not really a problem as I'm running current
> and I know things could break and the workaround is ok (all the
> commands uses pledge(2) anyway). Is there some more work in
> progress that will solve the situation during the development
> cycle?
> 
> Thank you and regards.
> -- 
> Andrea
> 

Reply via email to