DragonFly BSD
DragonFly kernel List (threaded) for 2003-08
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Linux emulation


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Fri, 8 Aug 2003 14:50:14 -0700 (PDT)

    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]