From: Christoph Hellwig Date: Mon, 28 Apr 2025 14:09:49 +0000 (-0700) Subject: brd: use bvec_kmap_local in brd_do_bvec X-Git-Tag: v6.16-rc1~216^2~130 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=95a375a3bed3b8734059351ba046a6fabdbde485;p=thirdparty%2Fkernel%2Flinux.git brd: use bvec_kmap_local in brd_do_bvec Use the proper helper to kmap a bvec in brd_do_bvec instead of directly accessing the bvec fields and use the deprecated kmap_atomic API. Signed-off-by: Christoph Hellwig Reviewed-by: Yu Kuai Reviewed-by: Hannes Reinecke Reviewed-by: Johannes Thumshirn Link: https://lore.kernel.org/r/20250428141014.2360063-4-hch@lst.de Signed-off-by: Jens Axboe --- diff --git a/drivers/block/brd.c b/drivers/block/brd.c index 91eb501263556..0c70d29379f1b 100644 --- a/drivers/block/brd.c +++ b/drivers/block/brd.c @@ -207,15 +207,15 @@ static int brd_rw_bvec(struct brd_device *brd, struct bio_vec *bv, return err; } - mem = kmap_atomic(bv->bv_page); + mem = bvec_kmap_local(bv); if (!op_is_write(opf)) { - copy_from_brd(mem + bv->bv_offset, brd, sector, bv->bv_len); + copy_from_brd(mem, brd, sector, bv->bv_len); flush_dcache_page(bv->bv_page); } else { flush_dcache_page(bv->bv_page); - copy_to_brd(brd, mem + bv->bv_offset, sector, bv->bv_len); + copy_to_brd(brd, mem, sector, bv->bv_len); } - kunmap_atomic(mem); + kunmap_local(mem); return 0; }