summaryrefslogtreecommitdiffstats
path: root/sys/compat
diff options
context:
space:
mode:
authoralfred <alfred@FreeBSD.org>2002-03-27 21:36:18 +0000
committeralfred <alfred@FreeBSD.org>2002-03-27 21:36:18 +0000
commitc513408927799beb8e88e8b08ae677bd46e77762 (patch)
treed0767f02bd164a185d51f517305b003af562e955 /sys/compat
parent706e613c585af652438c7e21c1741947752de3b8 (diff)
downloadFreeBSD-src-c513408927799beb8e88e8b08ae677bd46e77762.zip
FreeBSD-src-c513408927799beb8e88e8b08ae677bd46e77762.tar.gz
Make the reference counting of 'struct pargs' SMP safe.
There is still some locations where the PROC lock should be held in order to prevent inconsistent views from outside (like the proc->p_fd fix for kern/vfs_syscalls.c:checkdirs()) that can be fixed later. Submitted by: Jonathan Mini <mini@haikugeek.com>
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/svr4/svr4_misc.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/compat/svr4/svr4_misc.c b/sys/compat/svr4/svr4_misc.c
index 33c679a..3780fd0 100644
--- a/sys/compat/svr4/svr4_misc.c
+++ b/sys/compat/svr4/svr4_misc.c
@@ -1330,8 +1330,7 @@ loop:
/*
* Remove unused arguments
*/
- if (q->p_args && --q->p_args->ar_ref == 0)
- FREE(q->p_args, M_PARGS);
+ pargs_drop(q->p_args);
PROC_UNLOCK(q);
/*
OpenPOWER on IntegriCloud