summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorAnuj Gupta <anuj20.g@samsung.com>2024-11-28 14:22:37 +0300
committerJens Axboe <axboe@kernel.dk>2024-12-23 18:17:16 +0300
commit2c0487d8b1f1351d48a13b77b254a2bb6de49eb3 (patch)
tree499523958e8f5cd5e8803f89314be14f6012918a /include/linux
parent59a7d12a7fb5ab24efa893e6980a00ffc090c777 (diff)
downloadlinux-2c0487d8b1f1351d48a13b77b254a2bb6de49eb3.tar.xz
block: introduce BIP_CHECK_GUARD/REFTAG/APPTAG bip_flags
This patch introduces BIP_CHECK_GUARD/REFTAG/APPTAG bip_flags which indicate how the hardware should check the integrity payload. BIP_CHECK_GUARD/REFTAG are conversion of existing semantics, while BIP_CHECK_APPTAG is a new flag. The driver can now just rely on block layer flags, and doesn't need to know the integrity source. Submitter of PI decides which tags to check. This would also give us a unified interface for user and kernel generated integrity. Signed-off-by: Anuj Gupta <anuj20.g@samsung.com> Signed-off-by: Kanchan Joshi <joshi.k@samsung.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Keith Busch <kbusch@kernel.org> Link: https://lore.kernel.org/r/20241128112240.8867-8-anuj20.g@samsung.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/bio-integrity.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/bio-integrity.h b/include/linux/bio-integrity.h
index 58ff9988433a..fe2bfe122db2 100644
--- a/include/linux/bio-integrity.h
+++ b/include/linux/bio-integrity.h
@@ -11,6 +11,9 @@ enum bip_flags {
BIP_DISK_NOCHECK = 1 << 3, /* disable disk integrity checking */
BIP_IP_CHECKSUM = 1 << 4, /* IP checksum */
BIP_COPY_USER = 1 << 5, /* Kernel bounce buffer in use */
+ BIP_CHECK_GUARD = 1 << 6, /* guard check */
+ BIP_CHECK_REFTAG = 1 << 7, /* reftag check */
+ BIP_CHECK_APPTAG = 1 << 8, /* apptag check */
};
struct bio_integrity_payload {
@@ -31,7 +34,8 @@ struct bio_integrity_payload {
};
#define BIP_CLONE_FLAGS (BIP_MAPPED_INTEGRITY | BIP_CTRL_NOCHECK | \
- BIP_DISK_NOCHECK | BIP_IP_CHECKSUM)
+ BIP_DISK_NOCHECK | BIP_IP_CHECKSUM | \
+ BIP_CHECK_GUARD | BIP_CHECK_REFTAG | BIP_CHECK_APPTAG)
#ifdef CONFIG_BLK_DEV_INTEGRITY