History

Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt

Pull fscrypt updates from Eric Biggers: - Add the IV_INO_LBLK_64 encryption policy flag which modifies the encryption to be optimized for UFS inline encryption hardware. - For AES-128-CBC, use the crypto API's implementation of ESSIV (which was added in 5.4) rather than doing ESSIV manually. - A few other cleanups. * tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt: f2fs: add support for IV_INO_LBLK_64 encryption policies ext4: add support for IV_INO_LBLK_64 encryption policies fscrypt: add support for IV_INO_LBLK_64 policies fscrypt: avoid data race on fscrypt_mode::logged_impl_name docs: ioctl-number: document fscrypt ioctl numbers fscrypt: zeroize fscrypt_info before freeing fscrypt: remove struct fscrypt_ctx fscrypt: invoke crypto API for ESSIV handling

Linus Torvalds committed 6 years ago

Commit ea4b71b2 parents ae36607 0eee17e14 files · +208 −328Browse files

Showing the changes to include/linux (1 of 14 files). Show all

Unified · Split

include/linux/fscrypt.h+3−32
@@ -20,7 +20,6 @@ · 19 unmodified lines
2020
2121 #define FS_CRYPTO_BLOCK_SIZE 16
2222
23−struct fscrypt_ctx;
2423 struct fscrypt_info;
2524
2625 struct fscrypt_str {
@@ -62,18 +61,9 @@ struct fscrypt_operations { · 35 unmodified lines
6261 bool (*dummy_context)(struct inode *);
6362 bool (*empty_dir)(struct inode *);
6463 unsigned int max_namelen;
65−};
66−
67−/* Decryption work */
68−struct fscrypt_ctx {
69− union {
70− struct {
71− struct bio *bio;
72− struct work_struct work;
73− };
74− struct list_head free_list; /* Free list */
75− };
76− u8 flags; /* Flags */
64+ bool (*has_stable_inodes)(struct super_block *sb);
65+ void (*get_ino_and_lblk_bits)(struct super_block *sb,
66+ int *ino_bits_ret, int *lblk_bits_ret);
7767 };
7868
7969 static inline bool fscrypt_has_encryption_key(const struct inode *inode)
@@ -102,8 +92,6 @@ static inline void fscrypt_handle_d_move(struct dentry *dentry) · 22 unmodified lines
10292
10393 /* crypto.c */
10494 extern void fscrypt_enqueue_decrypt_work(struct work_struct *);
105−extern struct fscrypt_ctx *fscrypt_get_ctx(gfp_t);
106−extern void fscrypt_release_ctx(struct fscrypt_ctx *);
10795
10896 extern struct page *fscrypt_encrypt_pagecache_blocks(struct page *page,
10997 unsigned int len,
@@ -244,8 +232,6 @@ static inline bool fscrypt_match_name(const struct fscrypt_name *fname, · 134 unmodified lines
244232
245233 /* bio.c */
246234 extern void fscrypt_decrypt_bio(struct bio *);
247−extern void fscrypt_enqueue_decrypt_bio(struct fscrypt_ctx *ctx,
248− struct bio *bio);
249235 extern int fscrypt_zeroout_range(const struct inode *, pgoff_t, sector_t,
250236 unsigned int);
251237
@@ -295,16 +281,6 @@ static inline void fscrypt_enqueue_decrypt_work(struct work_struct *work) · 43 unmodified lines
295281 {
296282 }
297283
298−static inline struct fscrypt_ctx *fscrypt_get_ctx(gfp_t gfp_flags)
299−{
300− return ERR_PTR(-EOPNOTSUPP);
301−}
302−
303−static inline void fscrypt_release_ctx(struct fscrypt_ctx *ctx)
304−{
305− return;
306−}
307−
308284 static inline struct page *fscrypt_encrypt_pagecache_blocks(struct page *page,
309285 unsigned int len,
310286 unsigned int offs,
@@ -484,11 +460,6 @@ static inline void fscrypt_decrypt_bio(struct bio *bio) · 173 unmodified lines
484460 {
485461 }
486462
487−static inline void fscrypt_enqueue_decrypt_bio(struct fscrypt_ctx *ctx,
488− struct bio *bio)
489−{
490−}
491−
492463 static inline int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk,
493464 sector_t pblk, unsigned int len)
494465 {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t