Ver Fonte

ecryptfs: fasync BKL pushdown

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet há 17 anos atrás
pai
commit
dda6445e21
1 ficheiros alterados com 3 adições e 0 exclusões
  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;
 }