Index: fs/ecryptfs/main.c |
diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c |
index 3569e6d47a7cbc2110683d5b2daca7c8e04fa0d7..c6ac85d6c701f5b7d82e069c9a3f82a67a51d0b3 100644 |
--- a/fs/ecryptfs/main.c |
+++ b/fs/ecryptfs/main.c |
@@ -122,6 +122,7 @@ int ecryptfs_init_persistent_file(struct dentry *ecryptfs_dentry) |
int opened_lower_file = 0; |
int rc = 0; |
+ mutex_lock(&inode_info->lower_file_mutex); |
if (!inode_info->lower_file) { |
struct dentry *lower_dentry; |
struct vfsmount *lower_mnt = |
@@ -138,6 +139,7 @@ int ecryptfs_init_persistent_file(struct dentry *ecryptfs_dentry) |
} else |
opened_lower_file = 1; |
} |
+ mutex_unlock(&inode_info->lower_file_mutex); |
if (opened_lower_file) |
ima_counts_get(inode_info->lower_file); |
return rc; |