[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190804095643.7393-1-chao@kernel.org>
Date: Sun, 4 Aug 2019 17:56:43 +0800
From: Chao Yu <chao@...nel.org>
To: tytso@....edu, adilger.kernel@...ger.ca
Cc: linux-ext4@...r.kernel.org, linux-kernel@...r.kernel.org,
ebiggers@...nel.org, linux-fscrypt@...r.kernel.org,
chao@...nel.org, Chao Yu <yuchao0@...wei.com>
Subject: [PATCH] ext4 crypto: fix to check feature status before get policy
From: Chao Yu <yuchao0@...wei.com>
When getting fscrypto policy via EXT4_IOC_GET_ENCRYPTION_POLICY, if
encryption feature is off, it's better to return EOPNOTSUPP instead
of ENODATA, so let's add ext4_has_feature_encrypt() to do the check
for that.
Signed-off-by: Chao Yu <yuchao0@...wei.com>
---
fs/ext4/ioctl.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c
index 442f7ef873fc..bf87835c1237 100644
--- a/fs/ext4/ioctl.c
+++ b/fs/ext4/ioctl.c
@@ -1112,9 +1112,11 @@ long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
return -EOPNOTSUPP;
#endif
}
- case EXT4_IOC_GET_ENCRYPTION_POLICY:
+ case EXT4_IOC_GET_ENCRYPTION_POLICY: {
+ if (!ext4_has_feature_encrypt(sb))
+ return -EOPNOTSUPP;
return fscrypt_ioctl_get_policy(filp, (void __user *)arg);
-
+ }
case EXT4_IOC_FSGETXATTR:
{
struct fsxattr fa;
--
2.22.0
Powered by blists - more mailing lists