aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/fsverity.h
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2021-01-15 10:18:18 -0800
committerEric Biggers <ebiggers@google.com>2021-02-07 14:51:17 -0800
commit947191ac8caba85e25e0e036b0f097fee9e817f3 (patch)
tree98351a82ff4e023db2af5f35bb416ae3173d29b0 /include/uapi/linux/fsverity.h
parentfs-verity: support reading Merkle tree with ioctl (diff)
downloadlinux-dev-947191ac8caba85e25e0e036b0f097fee9e817f3.tar.xz
linux-dev-947191ac8caba85e25e0e036b0f097fee9e817f3.zip
fs-verity: support reading descriptor with ioctl
Add support for FS_VERITY_METADATA_TYPE_DESCRIPTOR to FS_IOC_READ_VERITY_METADATA. This allows a userspace server program to retrieve the fs-verity descriptor of a 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. "fs-verity descriptor" here means only the part that userspace cares about because it is hashed to produce the file digest. It doesn't include the signature which ext4 and f2fs append to the fsverity_descriptor struct when storing it on-disk, since that way of storing the signature is an implementation detail. The next patch adds a separate metadata_type value for retrieving the signature separately. 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-6-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>
Diffstat (limited to 'include/uapi/linux/fsverity.h')
-rw-r--r--include/uapi/linux/fsverity.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/uapi/linux/fsverity.h b/include/uapi/linux/fsverity.h
index 94003b153cb3..41abc283dbcc 100644
--- a/include/uapi/linux/fsverity.h
+++ b/include/uapi/linux/fsverity.h
@@ -84,6 +84,7 @@ struct fsverity_formatted_digest {
};
#define FS_VERITY_METADATA_TYPE_MERKLE_TREE 1
+#define FS_VERITY_METADATA_TYPE_DESCRIPTOR 2
struct fsverity_read_metadata_arg {
__u64 metadata_type;