From: deraadt Date: Wed, 22 Nov 1995 11:05:19 +0000 (+0000) Subject: release text vnode before releasing credentials. vnode releasing can X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=c92f752b105f687cc059995b02ce5d84093a8efa;p=openbsd release text vnode before releasing credentials. vnode releasing can block, but credentials should be alive until the process is really dead. from tegge@idt.unit.no; netbsd pr#1767 --- diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index 4212de82b68..466dd88ddc5 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -337,6 +337,12 @@ loop: */ (void)chgproccnt(p->p_cred->p_ruid, -1); + /* + * Release reference to text vnode + */ + if (p->p_textvp) + vrele(p->p_textvp); + /* * Free up credentials. */ @@ -345,12 +351,6 @@ loop: FREE(p->p_cred, M_SUBPROC); } - /* - * Release reference to text vnode - */ - if (p->p_textvp) - vrele(p->p_textvp); - /* * Finally finished with old proc entry. * Unlink it from its process group and free it.