@@ -147,7 +147,7 @@ typedef enum {
FS_ENCRYPT,
} fscrypt_direction_t;
-static int do_crypto(struct inode *inode,
+static int do_crypto(const struct inode *inode,
fscrypt_direction_t rw, pgoff_t index,
struct scatterlist *src, struct scatterlist *dst,
unsigned int cryptlen, gfp_t gfp_flags)
@@ -212,7 +212,7 @@ static int do_page_crypto(struct inode *inode,
return do_crypto(inode, rw, index, &src, &dst, PAGE_SIZE, gfp_flags);
}
-static int do_buf_crypto(struct inode *inode,
+static int do_buf_crypto(const struct inode *inode,
fscrypt_direction_t rw, pgoff_t index,
const void *src_buf, const void *dst_buf,
unsigned int buflen, gfp_t gfp_flags)
@@ -287,7 +287,7 @@ errout:
}
EXPORT_SYMBOL(fscrypt_encrypt_page);
-int fscrypt_encrypt_buffer(struct inode *inode, const void *plaintext_buf,
+int fscrypt_encrypt_buffer(const struct inode *inode, const void *plaintext_buf,
const void *ciphertext_buf, unsigned int buflen,
pgoff_t index, gfp_t gfp_flags)
{
@@ -296,8 +296,10 @@ int fscrypt_encrypt_buffer(struct inode *inode, const void *plaintext_buf,
}
EXPORT_SYMBOL(fscrypt_encrypt_buffer);
-int fscrypt_decrypt_buffer(struct inode *inode, const void *ciphertext_buf,
- const void *plaintext_buf, unsigned int buflen,
+int fscrypt_decrypt_buffer(const struct inode *inode,
+ const void *ciphertext_buf,
+ const void *plaintext_buf,
+ unsigned int buflen,
pgoff_t index, gfp_t gfp_flags)
{
return do_buf_crypto(inode, FS_DECRYPT, index, ciphertext_buf,
@@ -273,11 +273,13 @@ extern void fscrypt_pullback_bio_page(struct page **, bool);
extern void fscrypt_restore_control_page(struct page *);
extern int fscrypt_zeroout_range(struct inode *, pgoff_t, sector_t,
unsigned int);
-int fscrypt_encrypt_buffer(struct inode *inode, const void *plaintext_buf,
+int fscrypt_encrypt_buffer(const struct inode *inode, const void *plaintext_buf,
const void *ciphertext_buf, unsigned int buflen,
pgoff_t index, gfp_t gfp_flags);
-int fscrypt_decrypt_buffer(struct inode *inode, const void *ciphertext_buf,
- const void *plaintext_buf, unsigned int buflen,
+int fscrypt_decrypt_buffer(const struct inode *inode,
+ const void *ciphertext_buf,
+ const void *plaintext_buf,
+ unsigned int buflen,
pgoff_t index, gfp_t gfp_flags);
/* policy.c */
extern int fscrypt_process_policy(struct file *, const struct fscrypt_policy *);
@@ -291,8 +293,8 @@ extern int fscrypt_get_encryption_info(struct inode *);
extern void fscrypt_put_encryption_info(struct inode *, struct fscrypt_info *);
/* fname.c */
-extern int fscrypt_setup_filename(struct inode *, const struct qstr *,
- int lookup, struct fscrypt_name *);
+extern int fscrypt_setup_filename(struct inode *dir, const struct qstr *iname,
+ int lookup, struct fscrypt_name *fname);
extern void fscrypt_free_filename(struct fscrypt_name *);
extern u32 fscrypt_fname_encrypted_size(struct inode *, u32);
extern int fscrypt_fname_alloc_buffer(struct inode *, u32,
Some filesystems, such as UBIFS, maintain a const pointer for struct inode. Signed-off-by: Richard Weinberger <richard@nod.at> --- fs/crypto/crypto.c | 12 +++++++----- include/linux/fscrypto.h | 12 +++++++----- 2 files changed, 14 insertions(+), 10 deletions(-)