From 17534efe9218e8553a151034098dd043ea07d427 Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Thu, 28 May 2015 21:39:33 -0400 Subject: ext4 crypto: policies may only be set on directories Thanks to Chao Yu for pointing out we were missing this check. Change-Id: I823edbeddf6cc5086e4d17262d7c497368b1acb7 Signed-off-by: Theodore Ts'o Signed-off-by: Theodore Ts'o --- fs/ext4/crypto_policy.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/ext4/crypto_policy.c b/fs/ext4/crypto_policy.c index 81980a158..a1d434d0d 100644 --- a/fs/ext4/crypto_policy.c +++ b/fs/ext4/crypto_policy.c @@ -93,6 +93,8 @@ int ext4_process_policy(const struct ext4_encryption_policy *policy, return -EINVAL; if (!ext4_inode_has_encryption_context(inode)) { + if (!S_ISDIR(inode->i_mode)) + return -EINVAL; if (!ext4_empty_dir(inode)) return -ENOTEMPTY; return ext4_create_encryption_context_from_policy(inode, -- cgit v1.2.3