summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRene Rebe <rene@exactco.de>2025-11-14 15:30:33 +0100
committerJens Axboe <axboe@kernel.dk>2025-11-14 09:10:16 -0700
commit79bd8c9814a273fa7ba43399e1c07adec3fc95db (patch)
tree142449c69ea0bb396c03b85f74718e7eab140a87
parentfa0d2dc69e945ddbb1d023dfb4f7ba4103523213 (diff)
ps3disk: use memcpy_{from,to}_bvec index
With 6e0a48552b8c (ps3disk: use memcpy_{from,to}_bvec) converting ps3disk to new bvec helpers, incrementing the offset was accidently lost, corrupting consecutive buffers. Restore index for non-corrupted data transfers. Fixes: 6e0a48552b8c (ps3disk: use memcpy_{from,to}_bvec) Signed-off-by: René Rebe <rene@exactco.de> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--drivers/block/ps3disk.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/block/ps3disk.c b/drivers/block/ps3disk.c
index dc9e4a14b885..8892f218a814 100644
--- a/drivers/block/ps3disk.c
+++ b/drivers/block/ps3disk.c
@@ -85,10 +85,14 @@ static void ps3disk_scatter_gather(struct ps3_storage_device *dev,
struct bio_vec bvec;
rq_for_each_segment(bvec, req, iter) {
+ dev_dbg(&dev->sbd.core, "%s:%u: %u sectors from %llu\n",
+ __func__, __LINE__, bio_sectors(iter.bio),
+ iter.bio->bi_iter.bi_sector);
if (gather)
memcpy_from_bvec(dev->bounce_buf + offset, &bvec);
else
memcpy_to_bvec(&bvec, dev->bounce_buf + offset);
+ offset += bvec.bv_len;
}
}