diff options
author | Eric Biggers <ebiggers@google.com> | 2020-12-03 03:20:38 +0100 |
---|---|---|
committer | Eric Biggers <ebiggers@google.com> | 2020-12-03 03:25:01 +0100 |
commit | 7622350e5eda2cc57a72c6b27f1405d8b4f94670 (patch) | |
tree | 0ad66c519bd9ed52795579288c6d0af79245792c /fs/crypto/hooks.c | |
parent | fscrypt: introduce fscrypt_prepare_readdir() (diff) | |
download | linux-7622350e5eda2cc57a72c6b27f1405d8b4f94670.tar.xz linux-7622350e5eda2cc57a72c6b27f1405d8b4f94670.zip |
fscrypt: move body of fscrypt_prepare_setattr() out-of-line
In preparation for reducing the visibility of fscrypt_require_key() by
moving it to fscrypt_private.h, move the call to it from
fscrypt_prepare_setattr() to an out-of-line function.
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
Link: https://lore.kernel.org/r/20201203022041.230976-7-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
Diffstat (limited to 'fs/crypto/hooks.c')
-rw-r--r-- | fs/crypto/hooks.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/crypto/hooks.c b/fs/crypto/hooks.c index 82f351d3113a..1c16dba222d9 100644 --- a/fs/crypto/hooks.c +++ b/fs/crypto/hooks.c @@ -120,6 +120,14 @@ int __fscrypt_prepare_readdir(struct inode *dir) } EXPORT_SYMBOL_GPL(__fscrypt_prepare_readdir); +int __fscrypt_prepare_setattr(struct dentry *dentry, struct iattr *attr) +{ + if (attr->ia_valid & ATTR_SIZE) + return fscrypt_require_key(d_inode(dentry)); + return 0; +} +EXPORT_SYMBOL_GPL(__fscrypt_prepare_setattr); + /** * fscrypt_prepare_setflags() - prepare to change flags with FS_IOC_SETFLAGS * @inode: the inode on which flags are being changed |