fs-verity: support reading Merkle tree with ioctl
authorEric Biggers <ebiggers@google.com>
Fri, 15 Jan 2021 18:18:17 +0000 (10:18 -0800)
committerEric Biggers <ebiggers@google.com>
Sun, 7 Feb 2021 22:51:14 +0000 (14:51 -0800)
commit622699cfe6ec5578f52727002d5717ff3f092e23
tree70afcd4d36b8ca0d535043f3e64ec23000bc6bff
parente17fe6579de023725ec22a16965e9099e4a05ac9
fs-verity: support reading Merkle tree with ioctl

Add support for FS_VERITY_METADATA_TYPE_MERKLE_TREE to
FS_IOC_READ_VERITY_METADATA.  This allows a userspace server program to
retrieve the Merkle tree of a verity file for serving to a client which
implements fs-verity compatible verification.  See the patch which
introduced FS_IOC_READ_VERITY_METADATA for more details.

This has been tested using a new xfstest which calls this ioctl via a
new subcommand for the 'fsverity' program from fsverity-utils.

Link: https://lore.kernel.org/r/20210115181819.34732-5-ebiggers@kernel.org
Reviewed-by: Victor Hsieh <victorhsieh@google.com>
Reviewed-by: Jaegeuk Kim <jaegeuk@kernel.org>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Documentation/filesystems/fsverity.rst
fs/verity/read_metadata.c
include/uapi/linux/fsverity.h