diff options
Diffstat (limited to 'fs/ecryptfs')
| -rw-r--r-- | fs/ecryptfs/file.c | 3 | ||||
| -rw-r--r-- | fs/ecryptfs/miscdev.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/fs/ecryptfs/file.c b/fs/ecryptfs/file.c index 2258b8f654a6..24749bf0668f 100644 --- a/fs/ecryptfs/file.c +++ b/fs/ecryptfs/file.c | |||
| @@ -30,6 +30,7 @@ | |||
| 30 | #include <linux/security.h> | 30 | #include <linux/security.h> |
| 31 | #include <linux/compat.h> | 31 | #include <linux/compat.h> |
| 32 | #include <linux/fs_stack.h> | 32 | #include <linux/fs_stack.h> |
| 33 | #include <linux/smp_lock.h> | ||
| 33 | #include "ecryptfs_kernel.h" | 34 | #include "ecryptfs_kernel.h" |
| 34 | 35 | ||
| 35 | /** | 36 | /** |
| @@ -277,9 +278,11 @@ static int ecryptfs_fasync(int fd, struct file *file, int flag) | |||
| 277 | int rc = 0; | 278 | int rc = 0; |
| 278 | struct file *lower_file = NULL; | 279 | struct file *lower_file = NULL; |
| 279 | 280 | ||
| 281 | lock_kernel(); | ||
| 280 | lower_file = ecryptfs_file_to_lower(file); | 282 | lower_file = ecryptfs_file_to_lower(file); |
| 281 | if (lower_file->f_op && lower_file->f_op->fasync) | 283 | if (lower_file->f_op && lower_file->f_op->fasync) |
| 282 | rc = lower_file->f_op->fasync(fd, lower_file, flag); | 284 | rc = lower_file->f_op->fasync(fd, lower_file, flag); |
| 285 | unlock_kernel(); | ||
| 283 | return rc; | 286 | return rc; |
| 284 | } | 287 | } |
| 285 | 288 | ||
diff --git a/fs/ecryptfs/miscdev.c b/fs/ecryptfs/miscdev.c index 50c994a249a5..09a4522f65e6 100644 --- a/fs/ecryptfs/miscdev.c +++ b/fs/ecryptfs/miscdev.c | |||
| @@ -575,13 +575,11 @@ int ecryptfs_init_ecryptfs_miscdev(void) | |||
| 575 | int rc; | 575 | int rc; |
| 576 | 576 | ||
| 577 | atomic_set(&ecryptfs_num_miscdev_opens, 0); | 577 | atomic_set(&ecryptfs_num_miscdev_opens, 0); |
| 578 | mutex_lock(&ecryptfs_daemon_hash_mux); | ||
| 579 | rc = misc_register(&ecryptfs_miscdev); | 578 | rc = misc_register(&ecryptfs_miscdev); |
| 580 | if (rc) | 579 | if (rc) |
| 581 | printk(KERN_ERR "%s: Failed to register miscellaneous device " | 580 | printk(KERN_ERR "%s: Failed to register miscellaneous device " |
| 582 | "for communications with userspace daemons; rc = [%d]\n", | 581 | "for communications with userspace daemons; rc = [%d]\n", |
| 583 | __func__, rc); | 582 | __func__, rc); |
| 584 | mutex_unlock(&ecryptfs_daemon_hash_mux); | ||
| 585 | return rc; | 583 | return rc; |
| 586 | } | 584 | } |
| 587 | 585 | ||
