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
This commit is contained in:
parent
fe81cb1c43
commit
684f787474
|
@ -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 */
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue