ext4 crypto: make sure the encryption info is initialized on opendir(2)
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
Родитель
5555702955
Коммит
6bc445e0ff
|
@ -593,6 +593,13 @@ finished:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int ext4_dir_open(struct inode * inode, struct file * filp)
|
||||||
|
{
|
||||||
|
if (ext4_encrypted_inode(inode))
|
||||||
|
return ext4_get_encryption_info(inode) ? -EACCES : 0;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int ext4_release_dir(struct inode *inode, struct file *filp)
|
static int ext4_release_dir(struct inode *inode, struct file *filp)
|
||||||
{
|
{
|
||||||
if (filp->private_data)
|
if (filp->private_data)
|
||||||
|
@ -635,5 +642,6 @@ const struct file_operations ext4_dir_operations = {
|
||||||
.compat_ioctl = ext4_compat_ioctl,
|
.compat_ioctl = ext4_compat_ioctl,
|
||||||
#endif
|
#endif
|
||||||
.fsync = ext4_sync_file,
|
.fsync = ext4_sync_file,
|
||||||
|
.open = ext4_dir_open,
|
||||||
.release = ext4_release_dir,
|
.release = ext4_release_dir,
|
||||||
};
|
};
|
||||||
|
|
Загрузка…
Ссылка в новой задаче