summaryrefslogtreecommitdiff
path: root/fs/crypto/policy.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2017-01-05 11:03:07 -0500
committerDavid S. Miller <davem@davemloft.net>2017-01-05 11:03:07 -0500
commit76eb75be79b52a3c6ae1fd840083fa1a04458c1c (patch)
treebb90a570be2b1f521913b6233e11bae841608ad0 /fs/crypto/policy.c
parent57ea884b0dcf1e59661955919976ef138ec9cdb0 (diff)
parente02003b515e8d95f40f20f213622bb82510873d2 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'fs/crypto/policy.c')
-rw-r--r--fs/crypto/policy.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/crypto/policy.c b/fs/crypto/policy.c
index 6ed7c2eebeec..d6cd7ea4851d 100644
--- a/fs/crypto/policy.c
+++ b/fs/crypto/policy.c
@@ -179,6 +179,11 @@ int fscrypt_has_permitted_context(struct inode *parent, struct inode *child)
BUG_ON(1);
}
+ /* No restrictions on file types which are never encrypted */
+ if (!S_ISREG(child->i_mode) && !S_ISDIR(child->i_mode) &&
+ !S_ISLNK(child->i_mode))
+ return 1;
+
/* no restrictions if the parent directory is not encrypted */
if (!parent->i_sb->s_cop->is_encrypted(parent))
return 1;