Browse Source

ecryptfs: fasync BKL pushdown

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet 17 năm trước cách đây
mục cha
commit
dda6445e21
1 tập tin đã thay đổi với 3 bổ sung0 xóa
  1. 3 0
      fs/ecryptfs/file.c

+ 3 - 0
fs/ecryptfs/file.c

@@ -30,6 +30,7 @@
 #include <linux/security.h>
 #include <linux/compat.h>
 #include <linux/fs_stack.h>
+#include <linux/smp_lock.h>
 #include "ecryptfs_kernel.h"
 
 /**
@@ -277,9 +278,11 @@ static int ecryptfs_fasync(int fd, struct file *file, int flag)
 	int rc = 0;
 	struct file *lower_file = NULL;
 
+	lock_kernel();
 	lower_file = ecryptfs_file_to_lower(file);
 	if (lower_file->f_op && lower_file->f_op->fasync)
 		rc = lower_file->f_op->fasync(fd, lower_file, flag);
+	unlock_kernel();
 	return rc;
 }