On Tue, Feb 22, 2022 at 04:51:50PM +0100, Christoph Hellwig wrote: > Use memcpy_from_bvec instead of open coding the logic. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> Same comment regarding the dst map. Does it need to be atomic? Regardless, Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx> > --- > drivers/block/zram/zram_drv.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c > index 14becdf2815df..e9474b02012de 100644 > --- a/drivers/block/zram/zram_drv.c > +++ b/drivers/block/zram/zram_drv.c > @@ -1465,7 +1465,6 @@ static int zram_bvec_write(struct zram *zram, struct bio_vec *bvec, > { > int ret; > struct page *page = NULL; > - void *src; > struct bio_vec vec; > > vec = *bvec; > @@ -1483,11 +1482,9 @@ static int zram_bvec_write(struct zram *zram, struct bio_vec *bvec, > if (ret) > goto out; > > - src = kmap_atomic(bvec->bv_page); > dst = kmap_atomic(page); > - memcpy(dst + offset, src + bvec->bv_offset, bvec->bv_len); > + memcpy_from_bvec(dst + offset, bvec); > kunmap_atomic(dst); > - kunmap_atomic(src); > > vec.bv_page = page; > vec.bv_len = PAGE_SIZE; > -- > 2.30.2 > >