From: Chao Yu Date: Sun, 14 Feb 2016 10:56:55 +0000 (+0800) Subject: f2fs crypto: make sure the encryption info is initialized on opendir(2) X-Git-Tag: v4.5.3~33 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=091391b800a32dccd9a9138827820a3f8c83f96a;p=thirdparty%2Fkernel%2Fstable.git f2fs crypto: make sure the encryption info is initialized on opendir(2) 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 Signed-off-by: Chao Yu Signed-off-by: Jaegeuk Kim Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/f2fs/dir.c b/fs/f2fs/dir.c index faa7495e2d7e6..30e6b65634941 100644 --- 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,