summaryrefslogtreecommitdiffstats
path: root/fs/ext4
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2016-11-13 22:02:22 -0500
committerTheodore Ts'o <tytso@mit.edu>2016-11-13 22:02:22 -0500
commit6da22013bb7907b33c87968c25034b409a6161a2 (patch)
treef23cd3da57b7188241f7e2c9d2390fbc672ce3d4 /fs/ext4
parenta2f6d9c4c081ec2a02529b8af2c04f3e557a3a3e (diff)
parenta6e08912861757b8b335cc49b093a51ec025c5de (diff)
downloadlinux-stable-6da22013bb7907b33c87968c25034b409a6161a2.tar.gz
linux-stable-6da22013bb7907b33c87968c25034b409a6161a2.tar.bz2
linux-stable-6da22013bb7907b33c87968c25034b409a6161a2.zip
Merge branch 'fscrypt' into origin
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/inode.c7
-rw-r--r--fs/ext4/page-io.c3
2 files changed, 7 insertions, 3 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index 3d58b2b477e8..48fbdfc43c10 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -1169,7 +1169,8 @@ static int ext4_block_write_begin(struct page *page, loff_t pos, unsigned len,
if (unlikely(err))
page_zero_new_buffers(page, from, to);
else if (decrypt)
- err = fscrypt_decrypt_page(page);
+ err = fscrypt_decrypt_page(page->mapping->host, page,
+ PAGE_SIZE, 0, page->index);
return err;
}
#endif
@@ -3746,7 +3747,9 @@ static int __ext4_block_zero_page_range(handle_t *handle,
/* We expect the key to be set. */
BUG_ON(!fscrypt_has_encryption_key(inode));
BUG_ON(blocksize != PAGE_SIZE);
- WARN_ON_ONCE(fscrypt_decrypt_page(page));
+ BUG_ON(!PageLocked(page));
+ WARN_ON_ONCE(fscrypt_decrypt_page(page->mapping->host,
+ page, PAGE_SIZE, 0, page->index));
}
}
if (ext4_should_journal_data(inode)) {
diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c
index 0094923e5ebf..902a3e3059b3 100644
--- a/fs/ext4/page-io.c
+++ b/fs/ext4/page-io.c
@@ -470,7 +470,8 @@ int ext4_bio_write_page(struct ext4_io_submit *io,
gfp_t gfp_flags = GFP_NOFS;
retry_encrypt:
- data_page = fscrypt_encrypt_page(inode, page, gfp_flags);
+ data_page = fscrypt_encrypt_page(inode, page, PAGE_SIZE, 0,
+ page->index, gfp_flags);
if (IS_ERR(data_page)) {
ret = PTR_ERR(data_page);
if (ret == -ENOMEM && wbc->sync_mode == WB_SYNC_ALL) {