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: Fri, 4 Jun 2010 21:45:37 -0700 (PDT)

:I'm not sure this is the correct approach, but the attached patch
:should fix this issue.
:
:Joe
:...
:
:diff --git a/sys/dev/disk/vn/vn.c b/sys/dev/disk/vn/vn.c
:index 95bcf44..9f45281 100644
:--- a/sys/dev/disk/vn/vn.c
:+++ b/sys/dev/disk/vn/vn.c
:@@ -697,7 +697,7 @@ vnsetcred(struct vn_softc *vn, struct ucred *cred)
: 	 * Set credits in our softc
: 	 */
: 
:-	if (vn->sc_cred)
:+	if (vn->sc_cred && vn->sc_cred->cr_ref > 0)
: 		crfree(vn->sc_cred);
: 	vn->sc_cred = crdup(cred);

    That can't be right.  If vn->sc_cred is set at all there must be a
    ref on it.  If there isn't something is leaking a crfree() without
    clearing it.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>



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