summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormckusick <mckusick@FreeBSD.org>2001-03-01 21:43:46 +0000
committermckusick <mckusick@FreeBSD.org>2001-03-01 21:43:46 +0000
commit6e8fd9ef894dc97549b6f1448de127103fbe1c15 (patch)
tree1ea956600b02f3580eb576ca320f8e5795f8063a
parent401895533496c6f7943c0cadf487c2cfa8f852ac (diff)
downloadFreeBSD-src-6e8fd9ef894dc97549b6f1448de127103fbe1c15.zip
FreeBSD-src-6e8fd9ef894dc97549b6f1448de127103fbe1c15.tar.gz
Free lock before returning from process_worklist_item.
Obtained from: Constantine Sapuntzakis <csapuntz@stanford.edu>
-rw-r--r--sys/ufs/ffs/ffs_softdep.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c
index fbc4b2c..3c4ed20 100644
--- a/sys/ufs/ffs/ffs_softdep.c
+++ b/sys/ufs/ffs/ffs_softdep.c
@@ -656,8 +656,10 @@ process_worklist_item(matchmnt, flags)
if (vp == NULL || !VOP_ISLOCKED(vp, CURPROC))
break;
}
- if (wk == 0)
+ if (wk == 0) {
+ FREE_LOCK(&lk);
return (0);
+ }
WORKLIST_REMOVE(wk);
num_on_worklist -= 1;
FREE_LOCK(&lk);
OpenPOWER on IntegriCloud