From: Jonathan Corbet <corbet@lwn.net>
Date: Thu, 19 Jun 2008 22:18:25 +0000 (-0600)
Subject: ecryptfs: fasync BKL pushdown
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=dda6445e219b5d1fd67e9426ce8d23f8fbfaaf66;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git

ecryptfs: fasync BKL pushdown

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
---

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 @@
 #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;
 }