DragonFly BSD
DragonFly bugs List (threaded) for 2010-06
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: [issue1777] vn panic: Freeing already free credential! 0xdef403f8


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Sat, 5 Jun 2010 12:26:47 -0700 (PDT)

:The vn structure appears to NOT be corrupt.  Seems like a race if
:vn->sc_cred goes from NULL to non-NULL between frame 6 and 5.  Could
:this be related to my recent link_elf change (setting p to proc0 if p
:is NULL)?
:
:Joe

    Hmm.  If devfs is racing access to that field then try changing the
    vnsetcred() code around a bit to this:

	struct ucred *ocred
	...


        /*
         * Set credits in our softc
         */
        ocred = vn->sc_cred;
        vn->sc_cred = crdup(cred);
        if (ocred)
                crfree(ocred);

    If the race is more involved then that (assuming it is a race), we
    may have to call crhold() and friends whenever we use vn->sc_cred.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>



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