diff options
author | Jonathan Corbet <corbet@lwn.net> | 2008-06-19 18:18:25 -0400 |
---|---|---|
committer | Jonathan Corbet <corbet@lwn.net> | 2008-07-02 17:06:28 -0400 |
commit | dda6445e219b5d1fd67e9426ce8d23f8fbfaaf66 (patch) | |
tree | 7c29d5ab31ebeb63721ca98f5341fcd00b272db9 | |
parent | dbfb2df7e9fbd6e5ab8cd9b94b27767fe311fa0d (diff) |
ecryptfs: fasync BKL pushdown
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
-rw-r--r-- | fs/ecryptfs/file.c | 3 |
1 files changed, 3 insertions, 0 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 | ||