]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
zram: drop unused bio parameter from write helpers
authorCunlong Li <shenxiaogll@gmail.com>
Thu, 28 May 2026 02:48:45 +0000 (10:48 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Tue, 9 Jun 2026 01:21:27 +0000 (18:21 -0700)
After "zram: fix use-after-free in zram_bvec_write_partial()",
zram_bvec_write_partial() always passes NULL to zram_read_page() and no
longer needs the parent bio.  Mirror the read side
(zram_bvec_read_partial() has not taken a bio since commit 4e3c87b9421d
("zram: fix synchronous reads")) and drop the parameter from
zram_bvec_write_partial() and zram_bvec_write().

No functional change.

Link: https://lore.kernel.org/20260528-zram-v3-2-cab86eef8764@gmail.com
Signed-off-by: Cunlong Li <shenxiaogll@gmail.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Yisheng Xie <xieyisheng1@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
drivers/block/zram/zram_drv.c

index 7917fc7a2a29486ff92bc170ae65658baa9e672e..fd12604ff8d773dcf07683f76dddfac5243b2ef5 100644 (file)
@@ -2334,7 +2334,7 @@ static int zram_write_page(struct zram *zram, struct page *page, u32 index)
  * This is a partial IO. Read the full page before writing the changes.
  */
 static int zram_bvec_write_partial(struct zram *zram, struct bio_vec *bvec,
-                                  u32 index, int offset, struct bio *bio)
+                                  u32 index, int offset)
 {
        struct page *page = alloc_page(GFP_NOIO);
        int ret;
@@ -2352,10 +2352,10 @@ static int zram_bvec_write_partial(struct zram *zram, struct bio_vec *bvec,
 }
 
 static int zram_bvec_write(struct zram *zram, struct bio_vec *bvec,
-                          u32 index, int offset, struct bio *bio)
+                          u32 index, int offset)
 {
        if (is_partial_io(bvec))
-               return zram_bvec_write_partial(zram, bvec, index, offset, bio);
+               return zram_bvec_write_partial(zram, bvec, index, offset);
        return zram_write_page(zram, bvec->bv_page, index);
 }
 
@@ -2752,7 +2752,7 @@ static void zram_bio_write(struct zram *zram, struct bio *bio)
 
                bv.bv_len = min_t(u32, bv.bv_len, PAGE_SIZE - offset);
 
-               if (zram_bvec_write(zram, &bv, index, offset, bio) < 0) {
+               if (zram_bvec_write(zram, &bv, index, offset) < 0) {
                        atomic64_inc(&zram->stats.failed_writes);
                        bio->bi_status = BLK_STS_IOERR;
                        break;