ext4 crypto: fix to check feature status before get policy
authorChao Yu <yuchao0@huawei.com>
Sun, 4 Aug 2019 09:56:43 +0000 (17:56 +0800)
committerEric Biggers <ebiggers@google.com>
Sat, 31 Aug 2019 15:00:29 +0000 (10:00 -0500)
commit0642ea2409f3bfa105570e12854b8e2628db6835
treeb3dfaed17f4b630fa39ec54c47c8f010dcfef73f
parentba13f2c8d7a08362d519c8f91c846a8987b8df5f
ext4 crypto: fix to check feature status before get policy

When getting fscrypt 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.

This makes it so that all fscrypt ioctls consistently check for the
encryption feature, and makes ext4 consistent with f2fs in this regard.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
[EB - removed unneeded braces, updated the documentation, and
      added more explanation to commit message]
Signed-off-by: Eric Biggers <ebiggers@google.com>
Documentation/filesystems/fscrypt.rst
fs/ext4/ioctl.c