]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ps3disk: use memcpy_{from,to}_bvec index
authorRene Rebe <rene@exactco.de>
Fri, 14 Nov 2025 14:30:33 +0000 (15:30 +0100)
committerJens Axboe <axboe@kernel.dk>
Fri, 14 Nov 2025 16:10:16 +0000 (09:10 -0700)
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>
drivers/block/ps3disk.c

index dc9e4a14b8854587925abb47153af8cf0cee5f96..8892f218a81479d29dfe4f359ddd86bbba1d313c 100644 (file)
@@ -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;
        }
 }