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