ext4, f2fs: fscrypt_has_permitted_context() check in file open
From: Richard Weinberger
Date: Thu Sep 22 2016 - 08:25:38 EST
Hi!
Both ext4 and f2fs check in the file open code the context of the parent directory too:
ext4:
if (ext4_encrypted_inode(d_inode(dir)) &&
!fscrypt_has_permitted_context(d_inode(dir), inode)) {
ext4_warning(inode->i_sb,
"Inconsistent encryption contexts: %lu/%lu",
(unsigned long) d_inode(dir)->i_ino,
(unsigned long) inode->i_ino);
dput(dir);
return -EPERM;
}
f2fs:
if (f2fs_encrypted_inode(d_inode(dir)) &&
!fscrypt_has_permitted_context(d_inode(dir), inode)) {
dput(dir);
return -EPERM;
}
Why do we need this check? AFAIK this situation can never happen unless due to
a bug in the filesystem code.
Thanks,
//richard