Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/kern



    Date:        Sat, 12 Nov 2016 14:42:47 -0500
    From:        "Christos Zoulas" <christos%netbsd.org@localhost>
    Message-ID:  <20161112194247.37910FBA6%cvs.NetBSD.org@localhost>

  | PR/51624: Return the original parent for a traced process.

Maybe the real bug here was that proc_reparent() is changing the
child's p_ppid ?

I can see no reason for that, and if it wasn't done, then p_ppid would
be what is wanted by getppid() without needing kern_getppid() to
do all that unwind logic (and assiated locting and unlocking to make
it safe.)

Aside from proc_reparent() the only weirdness I can see with p_ppid are
in kern_proc.c in fill_eproc() and fill_kproc2().   They both use (and
continue to use, so the results will be different for a process being
traced, and the same process when not traced) p_pptr->p_pid rather than
the simpler p_ppid but I am not sure why (nor what the clients of those
functions are or what the info is used for, so I am not sure what is correct.)

kre



Home | Main Index | Thread Index | Old Index