# \[PATCH 16/25\] f2fs: switch to fscrypt\_file\_open()

- From: Eric Biggers \<hidden\>
- Date: 2017-09-20 22:47:09 
- List: linux-ext4
- Page: https://ratatoskr.run/linux-ext4/2017/09/126090
- Thread: https://ratatoskr.run/linux-fscrypt/2017/09/126721/t.md

```text
From: Eric Biggers <redacted>

Signed-off-by: Eric Biggers <redacted>
---
 fs/f2fs/file.c | 18 +++---------------
 1 file changed, 3 insertions(+), 15 deletions(-)

diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 517e112c8a9a..8cef3931a00b 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -455,22 +455,10 @@ static int f2fs_file_mmap(struct file *file, struct vm_area_struct *vma)
 
 static int f2fs_file_open(struct inode *inode, struct file *filp)
 {
-	struct dentry *dir;
+	int err = fscrypt_file_open(inode, filp);
 
-	if (f2fs_encrypted_inode(inode)) {
-		int ret = fscrypt_get_encryption_info(inode);
-		if (ret)
-			return -EACCES;
-		if (!fscrypt_has_encryption_key(inode))
-			return -ENOKEY;
-	}
-	dir = dget_parent(file_dentry(filp));
-	if (f2fs_encrypted_inode(d_inode(dir)) &&
-			!fscrypt_has_permitted_context(d_inode(dir), inode)) {
-		dput(dir);
-		return -EPERM;
-	}
-	dput(dir);
+	if (err)
+		return err;
 	return dquot_file_open(inode, filp);
 }
 
-- 
2.14.1.821.g8fa685d3b7-goog
```
