mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-04-01 03:54:02 +00:00
eCryptFS: fix imbalanced mutex locking
Fix imbalanced calls for mutex lock/unlock on ecryptfs_daemon_hash_mux Revealed by Ingo Molnar: http://lkml.org/lkml/2008/5/7/260 Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Cc: Michael Halcrow <mhalcrow@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
d850a2fac1
commit
43f14d856f
1 changed files with 2 additions and 0 deletions
|
@ -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 */
|
||||||
|
|
Loading…
Add table
Reference in a new issue