]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
f2fs crypto: make sure the encryption info is initialized on opendir(2)
authorChao Yu <chao2.yu@samsung.com>
Sun, 14 Feb 2016 10:56:55 +0000 (18:56 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 May 2016 21:49:13 +0000 (14:49 -0700)
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@mit.edu>
Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/f2fs/dir.c

index faa7495e2d7e62effef70b681c52ba2c75ca36d9..30e6b65634941556bf84f7281ba0eb1cd9da521f 100644 (file)
@@ -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,