block: refactor to use helper
[ Upstream commit 8f63fef5867fb5e8c29d9c14b6d739bfc1869d32 ]
Reduce some code by making use of bio_integrity_bytes().
BUG=b/362700710
TEST=presubmit
RELEASE_NOTE=Fixes CVE-2024-43854 in the Linux kernel
cos-patch: security-moderate
Change-Id: I1bbb56e3be1850225534b64d96cd59f53b3507f5
Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com>
Reviewed-by: "Martin K. Petersen" <martin.petersen@oracle.com>
Link: https://lore.kernel.org/r/20230719121608.32105-1-nj.shetty@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Stable-dep-of: 899ee2c3829c ("block: initialize integrity buffer to zero before writing it to media")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Shuo Yang <gshuoy@google.com>
Reviewed-on: https://cos-review.googlesource.com/c/third_party/kernel/+/79540
Reviewed-by: Oleksandr Tymoshenko <ovt@google.com>
Tested-by: Cusky Presubmit Bot <presubmit@cos-infra-prod.iam.gserviceaccount.com>
diff --git a/block/bio-integrity.c b/block/bio-integrity.c
index 4533eb4..8f0af7a 100644
--- a/block/bio-integrity.c
+++ b/block/bio-integrity.c
@@ -199,7 +199,6 @@ bool bio_integrity_prep(struct bio *bio)
unsigned long start, end;
unsigned int len, nr_pages;
unsigned int bytes, offset, i;
- unsigned int intervals;
blk_status_t status;
if (!bi)
@@ -224,10 +223,9 @@ bool bio_integrity_prep(struct bio *bio)
!(bi->flags & BLK_INTEGRITY_GENERATE))
return true;
}
- intervals = bio_integrity_intervals(bi, bio_sectors(bio));
/* Allocate kernel buffer for protection data */
- len = intervals * bi->tuple_size;
+ len = bio_integrity_bytes(bi, bio_sectors(bio));
buf = kmalloc(len, GFP_NOIO);
status = BLK_STS_RESOURCE;
if (unlikely(buf == NULL)) {