|
@@ -257,12 +257,14 @@ ecryptfs_miscdev_read(struct file *file, char __user *buf, size_t count,
|
|
mutex_lock(&daemon->mux);
|
|
mutex_lock(&daemon->mux);
|
|
if (daemon->flags & ECRYPTFS_DAEMON_ZOMBIE) {
|
|
if (daemon->flags & ECRYPTFS_DAEMON_ZOMBIE) {
|
|
rc = 0;
|
|
rc = 0;
|
|
|
|
+ mutex_unlock(&ecryptfs_daemon_hash_mux);
|
|
printk(KERN_WARNING "%s: Attempt to read from zombified "
|
|
printk(KERN_WARNING "%s: Attempt to read from zombified "
|
|
"daemon\n", __func__);
|
|
"daemon\n", __func__);
|
|
goto out_unlock_daemon;
|
|
goto out_unlock_daemon;
|
|
}
|
|
}
|
|
if (daemon->flags & ECRYPTFS_DAEMON_IN_READ) {
|
|
if (daemon->flags & ECRYPTFS_DAEMON_IN_READ) {
|
|
rc = 0;
|
|
rc = 0;
|
|
|
|
+ mutex_unlock(&ecryptfs_daemon_hash_mux);
|
|
goto out_unlock_daemon;
|
|
goto out_unlock_daemon;
|
|
}
|
|
}
|
|
/* This daemon will not go away so long as this flag is set */
|
|
/* This daemon will not go away so long as this flag is set */
|