On 15/02/2025 10:58, Andreas Hindborg wrote:
When cloning a bio, the `bio.bi_vcnt` field is not cloned. This is a
problem if users want to perform bounds checks on the `bio.bi_io_vec`
field.
Is this fixing a potential problem? Or fixing a real issue?
Thanks,
John
Signed-off-by: Andreas Hindborg <a.hindborg@xxxxxxxxxx>
---
block/bio.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/block/bio.c b/block/bio.c
index f0c416e5931d9..334eedf312803 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -870,6 +870,7 @@ struct bio *bio_alloc_clone(struct block_device *bdev, struct bio *bio_src,
return NULL;
}
bio->bi_io_vec = bio_src->bi_io_vec;
+ bio->bi_vcnt = bio_src->bi_vcnt;
return bio;
}
---
base-commit: a64dcfb451e254085a7daee5fe51bf22959d52d3
change-id: 20250215-clone-bi_vcnt-f3f770988894
Best regards,