diff --git a/fs/crypto/policy.c b/fs/crypto/policy.c index c9800b1a2e930f65e8fa7a9b052fb80efeba512c..f96547f83cabb32dc748865f52ad5cbcd54c3da8 100644 --- a/fs/crypto/policy.c +++ b/fs/crypto/policy.c @@ -102,6 +102,8 @@ int fscrypt_process_policy(struct inode *inode, return -EINVAL; if (!inode_has_encryption_context(inode)) { + if (!S_ISDIR(inode->i_mode)) + return -EINVAL; if (!inode->i_sb->s_cop->empty_dir) return -EOPNOTSUPP; if (!inode->i_sb->s_cop->empty_dir(inode))