> On Nov 24, 2020, at 5:23 PM, Eric Biggers wrote: > > From: Eric Biggers > > Now that fscrypt_get_encryption_info() is only called from files in > fs/crypto/ (due to all key setup now being handled by higher-level > helper functions instead of directly by filesystems), unexport it and > move its declaration to fscrypt_private.h. > > Signed-off-by: Eric Biggers Reviewed-by: Andreas Dilger > --- > fs/crypto/fscrypt_private.h | 2 ++ > fs/crypto/keysetup.c | 1 - > include/linux/fscrypt.h | 7 +------ > 3 files changed, 3 insertions(+), 7 deletions(-) > > diff --git a/fs/crypto/fscrypt_private.h b/fs/crypto/fscrypt_private.h > index 16dd55080127..c1c302656c34 100644 > --- a/fs/crypto/fscrypt_private.h > +++ b/fs/crypto/fscrypt_private.h > @@ -571,6 +571,8 @@ int fscrypt_derive_dirhash_key(struct fscrypt_info *ci, > void fscrypt_hash_inode_number(struct fscrypt_info *ci, > const struct fscrypt_master_key *mk); > > +int fscrypt_get_encryption_info(struct inode *inode); > + > /** > * fscrypt_require_key() - require an inode's encryption key > * @inode: the inode we need the key for > diff --git a/fs/crypto/keysetup.c b/fs/crypto/keysetup.c > index 50675b42d5b7..6339b3069a40 100644 > --- a/fs/crypto/keysetup.c > +++ b/fs/crypto/keysetup.c > @@ -589,7 +589,6 @@ int fscrypt_get_encryption_info(struct inode *inode) > res = 0; > return res; > } > -EXPORT_SYMBOL(fscrypt_get_encryption_info); > > /** > * fscrypt_prepare_new_inode() - prepare to create a new inode in a directory > diff --git a/include/linux/fscrypt.h b/include/linux/fscrypt.h > index a07610f27926..4b163f5e58e9 100644 > --- a/include/linux/fscrypt.h > +++ b/include/linux/fscrypt.h > @@ -75,7 +75,7 @@ struct fscrypt_operations { > static inline struct fscrypt_info *fscrypt_get_info(const struct inode *inode) > { > /* > - * Pairs with the cmpxchg_release() in fscrypt_get_encryption_info(). > + * Pairs with the cmpxchg_release() in fscrypt_setup_encryption_info(). > * I.e., another task may publish ->i_crypt_info concurrently, executing > * a RELEASE barrier. We need to use smp_load_acquire() here to safely > * ACQUIRE the memory the other task published. > @@ -200,7 +200,6 @@ int fscrypt_ioctl_remove_key_all_users(struct file *filp, void __user *arg); > int fscrypt_ioctl_get_key_status(struct file *filp, void __user *arg); > > /* keysetup.c */ > -int fscrypt_get_encryption_info(struct inode *inode); > int fscrypt_prepare_new_inode(struct inode *dir, struct inode *inode, > bool *encrypt_ret); > void fscrypt_put_encryption_info(struct inode *inode); > @@ -408,10 +407,6 @@ static inline int fscrypt_ioctl_get_key_status(struct file *filp, > } > > /* keysetup.c */ > -static inline int fscrypt_get_encryption_info(struct inode *inode) > -{ > - return -EOPNOTSUPP; > -} > > static inline int fscrypt_prepare_new_inode(struct inode *dir, > struct inode *inode, > -- > 2.29.2 > Cheers, Andreas