[PATCH 4.5 169/200] f2fs crypto: make sure the encryption info is initialized on opendir(2)

From: Greg Kroah-Hartman
Date: Mon May 02 2016 - 20:58:53 EST


4.5-stable review patch. If anyone has any objections, please let me know.

------------------

From: Chao Yu <chao2.yu@xxxxxxxxxxx>

commit ed3360abbc0412f32c398e1c58887d74f3d04225 upstream.

This patch syncs f2fs with commit 6bc445e0ff44 ("ext4 crypto: make
sure the encryption info is initialized on opendir(2)") from ext4.

Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
fs/f2fs/dir.c | 8 ++++++++
1 file changed, 8 insertions(+)

--- a/fs/f2fs/dir.c
+++ b/fs/f2fs/dir.c
@@ -892,11 +892,19 @@ out:
return err;
}

+static int f2fs_dir_open(struct inode *inode, struct file *filp)
+{
+ if (f2fs_encrypted_inode(inode))
+ return f2fs_get_encryption_info(inode) ? -EACCES : 0;
+ return 0;
+}
+
const struct file_operations f2fs_dir_operations = {
.llseek = generic_file_llseek,
.read = generic_read_dir,
.iterate = f2fs_readdir,
.fsync = f2fs_sync_file,
+ .open = f2fs_dir_open,
.unlocked_ioctl = f2fs_ioctl,
#ifdef CONFIG_COMPAT
.compat_ioctl = f2fs_compat_ioctl,