DragonFly kernel List (threaded) for 2003-08
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
Re: Linux emulation
All right, I've fixed 'man'. It was primarily a bug in kern/kern_exec.c
when I had combined the pcred and the ucred together. The pcred was
always per-process and so the exec code could modify the svuid and svgid.
But with everything combined in the ucred one has to call cratom() prior
to modifying the svuid and svgid in order to not accidently modify
the svuid/svgid belonging to other processes (since ucred can be shared
across several processes).
In the case of man it was fork()/exec()'ing the groff stuff and the exec
in the child process was screwing up the svuid in the parent 'man'
program, causing it to lose its ability to revert to the 'man' effective
user id.
-Matt
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]