summaryrefslogtreecommitdiffstats
path: root/fs/ext4
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2022-12-14 14:43:04 -0800
committerEric Biggers <ebiggers@google.com>2023-01-01 15:46:48 -0800
commit72ea15f0ddd29b9facdab836a2f5d3e28df9b202 (patch)
tree9f95596ad06bec7df04f4c24aef45322cba92302 /fs/ext4
parent9642946c6c851ba954689f184b3370e3594b6b1a (diff)
downloadlinux-stable-72ea15f0ddd29b9facdab836a2f5d3e28df9b202.tar.gz
linux-stable-72ea15f0ddd29b9facdab836a2f5d3e28df9b202.tar.bz2
linux-stable-72ea15f0ddd29b9facdab836a2f5d3e28df9b202.zip
fsverity: pass pos and size to ->write_merkle_tree_block
fsverity_operations::write_merkle_tree_block is passed the index of the block to write and the log base 2 of the block size. However, all implementations of it use these parameters only to calculate the position and the size of the block, in bytes. Therefore, make ->write_merkle_tree_block take 'pos' and 'size' parameters instead of 'index' and 'log_blocksize'. Suggested-by: Dave Chinner <david@fromorbit.com> Signed-off-by: Eric Biggers <ebiggers@google.com> Acked-by: Dave Chinner <dchinner@redhat.com> Link: https://lore.kernel.org/r/20221214224304.145712-5-ebiggers@kernel.org
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/verity.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/ext4/verity.c b/fs/ext4/verity.c
index 30e3b65798b5..e4da1704438e 100644
--- a/fs/ext4/verity.c
+++ b/fs/ext4/verity.c
@@ -381,11 +381,11 @@ static struct page *ext4_read_merkle_tree_page(struct inode *inode,
}
static int ext4_write_merkle_tree_block(struct inode *inode, const void *buf,
- u64 index, int log_blocksize)
+ u64 pos, unsigned int size)
{
- loff_t pos = ext4_verity_metadata_pos(inode) + (index << log_blocksize);
+ pos += ext4_verity_metadata_pos(inode);
- return pagecache_write(inode, buf, 1 << log_blocksize, pos);
+ return pagecache_write(inode, buf, size, pos);
}
const struct fsverity_operations ext4_verityops = {