Date: Wed, 19 Jun 2002 19:18:46 -0700 From: Mike Makonnen <makonnen@pacbell.net> To: Don Lewis <dl-freebsd@catspoiler.org> Cc: bright@mu.org, jhb@FreeBSD.ORG, hackers@FreeBSD.ORG Subject: Re: Suggested fixes for uidinfo "would sleep" messages Message-ID: <20020619191846.4aa74dd6.makonnen@pacbell.net> In-Reply-To: <200206192256.g5JMuCM1067585@gw.catspoiler.org> References: <20020619172107.GF85935@elvis.mu.org> <200206192256.g5JMuCM1067585@gw.catspoiler.org>
next in thread | previous in thread | raw e-mail | index | archive | help
I actually submitted a patch for this a few days ago to John Baldwin, but I think he's busy right now 'cause I haven't heard from him. Here it is: Index: sys/kern/kern_exec.c =================================================================== RCS file: /home/ncvs/src/sys/kern/kern_exec.c,v retrieving revision 1.164 diff -u -r1.164 kern_exec.c --- sys/kern/kern_exec.c 7 Jun 2002 05:41:27 -0000 1.164 +++ sys/kern/kern_exec.c 16 Jun 2002 14:14:37 -0000 @@ -133,7 +133,7 @@ struct image_params image_params, *imgp; struct vattr attr; int (*img_first)(struct image_params *); - struct pargs *oldargs, *newargs = NULL; + struct pargs *oldargs=NULL, *newargs = NULL; struct procsig *oldprocsig, *newprocsig; #ifdef KTRACE struct vnode *tracevp = NULL; @@ -383,8 +383,10 @@ #endif /* Make sure file descriptors 0..2 are in use. */ error = fdcheckstd(td); - if (error != 0) - goto exec_fail_dealloc; + if (error != 0) { + oldcred = NULL; + goto done1; + } /* * Set the new credentials. */ @@ -467,6 +469,7 @@ p->p_args = newargs; newargs = NULL; } +done1: PROC_UNLOCK(p); /* @@ -476,7 +479,6 @@ crfree(oldcred); else crfree(newcred); - KASSERT(newargs == NULL, ("leaking p_args")); /* * Handle deferred decrement of ref counts. */ @@ -486,7 +488,10 @@ if (tracevp != NULL) vrele(tracevp); #endif - pargs_drop(oldargs); + if (oldargs != NULL) + pargs_drop(oldargs); + if (newargs != NULL) + pargs_drop(newargs); exec_fail_dealloc: Cheers, Mike. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020619191846.4aa74dd6.makonnen>