On Sun, Mar 17, 2024 at 09:27:34AM -0700, Darrick J. Wong wrote: > diff --git a/fs/verity/open.c b/fs/verity/open.c > index 7a86407732c4..433a70eeca55 100644 > --- a/fs/verity/open.c > +++ b/fs/verity/open.c > @@ -144,6 +144,13 @@ int fsverity_init_merkle_tree_params(struct merkle_tree_params *params, > goto out_err; > } > > + err = fsverity_hash_buffer(params->hash_alg, page_address(ZERO_PAGE(0)), > + i_blocksize(inode), params->zero_digest); > + if (err) { > + fsverity_err(inode, "Error %d computing zero digest", err); > + goto out_err; > + } This doesn't take the salt into account. Also it's using the wrong block size (filesystem block size instead of Merkle tree block size). How about using fsverity_hash_block()? - Eric