block: fix lbmd_guard_tag_type assignment in FS_IOC_GETLBMD_CAP
authorAnuj Gupta <anuj20.g@samsung.com>
Tue, 22 Jul 2025 12:07:55 +0000 (17:37 +0530)
committerChristian Brauner <brauner@kernel.org>
Wed, 23 Jul 2025 12:55:51 +0000 (14:55 +0200)
commitbc5b0c8febccbeabfefc9b59083b223ec7c7b53a
treeab1f56caab82763e10a941fa8317a516bf218ab0
parent42b0ef01e6b5e9c77b383d32c25a0ec2a735d08a
block: fix lbmd_guard_tag_type assignment in FS_IOC_GETLBMD_CAP

The blk_get_meta_cap() implementation directly assigns bi->csum_type to
the UAPI field lbmd_guard_tag_type. This is not right as the kernel enum
blk_integrity_checksum values are not guaranteed to match the UAPI
defined values.

Fix this by explicitly mapping internal checksum types to UAPI-defined
constants to ensure compatibility and correctness, especially for the
devices using CRC64 PI.

Fixes: 9eb22f7fedfc ("fs: add ioctl to query metadata and protection info capabilities")
Reported-by: Vincent Fu <vincent.fu@samsung.com>
Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
Link: https://lore.kernel.org/20250722120755.87501-1-anuj20.g@samsung.com
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Christian Brauner <brauner@kernel.org>
block/blk-integrity.c