aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbehlendo <behlendo@7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c>2008-06-03 20:58:55 +0000
committerbehlendo <behlendo@7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c>2008-06-03 20:58:55 +0000
commit684f787474561bb28e1217c5ae2d897aa80e1d87 (patch)
tree385342f6b6be1404567cd613aa1427ac32ec2d87
parentfe81cb1c435e59c2f2a1d0ea210b24230cc8f22b (diff)
Fix missing return resulting in a double unlock of &files->file_lock
and a hang on subsequent sys_close. I'm not quite sure why the Fedora kernel caught this bug the Chaos kernel did not, but I'm glad! Convert remaining BUG_ON's to ASSERTs git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@122 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
-rw-r--r--modules/splat/splat-atomic.c4
-rw-r--r--modules/splat/splat-vnode.c1
2 files changed, 3 insertions, 2 deletions
diff --git a/modules/splat/splat-atomic.c b/modules/splat/splat-atomic.c
index 4de5ef033..05afdb64b 100644
--- a/modules/splat/splat-atomic.c
+++ b/modules/splat/splat-atomic.c
@@ -110,7 +110,7 @@ splat_atomic_work(void *priv)
atomic_sub_64_nv(&ap->ap_atomic, 5);
break;
default:
- BUG_ON(1);
+ SBUG();
}
}
@@ -153,7 +153,7 @@ splat_atomic_test1(struct file *file, void *arg)
thr = (kthread_t *)thread_create(NULL, 0, splat_atomic_work,
&ap, 0, &p0, TS_RUN,
minclsyspri);
- BUG_ON(thr == NULL);
+ ASSERT(thr);
/* Prepare to wait, the new thread will wake us once it
* has made a copy of the unique private passed data */
diff --git a/modules/splat/splat-vnode.c b/modules/splat/splat-vnode.c
index a72dac94b..6f9750388 100644
--- a/modules/splat/splat-vnode.c
+++ b/modules/splat/splat-vnode.c
@@ -374,6 +374,7 @@ fd_uninstall(int fd)
* case I think that's reasonable. */
spin_unlock(&files->file_lock);
put_unused_fd(fd);
+ return 0;
out_unlock:
spin_unlock(&files->file_lock);