X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=fs%2Fecryptfs%2Finode.c;h=b08b5187f6622cb6c7934d6dba9fcdfdbb0aefb6;hb=e36cb0b89ce20b4f8786a57e8a6bc8476f577650;hp=34b36a5040593e960ff3da4fdc20dcaa5c5cb8f6;hpb=f1252515d901ee2a184a9d49a7f29ae14da823eb;p=linux-block.git diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c index 34b36a504059..b08b5187f662 100644 --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c @@ -907,9 +907,9 @@ static int ecryptfs_setattr(struct dentry *dentry, struct iattr *ia) lower_inode = ecryptfs_inode_to_lower(inode); lower_dentry = ecryptfs_dentry_to_lower(dentry); mutex_lock(&crypt_stat->cs_mutex); - if (S_ISDIR(dentry->d_inode->i_mode)) + if (d_is_dir(dentry)) crypt_stat->flags &= ~(ECRYPTFS_ENCRYPTED); - else if (S_ISREG(dentry->d_inode->i_mode) + else if (d_is_reg(dentry) && (!(crypt_stat->flags & ECRYPTFS_POLICY_APPLIED) || !(crypt_stat->flags & ECRYPTFS_KEY_VALID))) { struct ecryptfs_mount_crypt_stat *mount_crypt_stat;