summaryrefslogtreecommitdiffstats
path: root/sys/kern/imgact_aout.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2001-01-27 00:01:31 +0000
committerjhb <jhb@FreeBSD.org>2001-01-27 00:01:31 +0000
commitb6baa60b1e807d09641c20b2ff1fe838ddebbd3b (patch)
tree81781cbbf3ad98f73e64d11188dfe3084b844e12 /sys/kern/imgact_aout.c
parent0c5b7b7672ac24978496b6d8b72a9f4c74349b64 (diff)
downloadFreeBSD-src-b6baa60b1e807d09641c20b2ff1fe838ddebbd3b.zip
FreeBSD-src-b6baa60b1e807d09641c20b2ff1fe838ddebbd3b.tar.gz
Back out proc locking to protect p_ucred for obtaining additional
references along with the actual obtaining of additional references.
Diffstat (limited to 'sys/kern/imgact_aout.c')
-rw-r--r--sys/kern/imgact_aout.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/sys/kern/imgact_aout.c b/sys/kern/imgact_aout.c
index ff315f5..32f2630 100644
--- a/sys/kern/imgact_aout.c
+++ b/sys/kern/imgact_aout.c
@@ -249,17 +249,13 @@ aout_coredump(p, vp, limit)
register struct vnode *vp;
off_t limit;
{
- register struct ucred *cred;
+ register struct ucred *cred = p->p_ucred;
register struct vmspace *vm = p->p_vmspace;
int error;
if (ctob(UPAGES + vm->vm_dsize + vm->vm_ssize) >= limit)
return (EFAULT);
fill_kinfo_proc(p, &p->p_addr->u_kproc);
- PROC_LOCK(p);
- cred = p->p_ucred;
- crhold(cred);
- PROC_UNLOCK(p);
error = cpu_coredump(p, vp, cred);
if (error == 0)
error = vn_rdwr(UIO_WRITE, vp, vm->vm_daddr,
@@ -271,7 +267,6 @@ aout_coredump(p, vp, limit)
round_page(ctob(vm->vm_ssize)),
(off_t)ctob(UPAGES) + ctob(vm->vm_dsize), UIO_USERSPACE,
IO_NODELOCKED|IO_UNIT, cred, (int *) NULL, p);
- crfree(cred);
return (error);
}
OpenPOWER on IntegriCloud