diff options
author | behlendo <behlendo@7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c> | 2008-06-03 20:58:55 +0000 |
---|---|---|
committer | behlendo <behlendo@7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c> | 2008-06-03 20:58:55 +0000 |
commit | 684f787474561bb28e1217c5ae2d897aa80e1d87 (patch) | |
tree | 385342f6b6be1404567cd613aa1427ac32ec2d87 | |
parent | fe81cb1c435e59c2f2a1d0ea210b24230cc8f22b (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.c | 4 | ||||
-rw-r--r-- | modules/splat/splat-vnode.c | 1 |
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); |