From: Ming Lei Date: Thu, 9 Apr 2026 13:30:15 +0000 (+0800) Subject: ublk: simplify PFN range loop in __ublk_ctrl_reg_buf X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8ea8566a9aeef746699d8c84bed3ac44edbfaa0e;p=thirdparty%2Flinux.git ublk: simplify PFN range loop in __ublk_ctrl_reg_buf Use the for-loop increment instead of a manual `i++` past the last page, and fix the mtree_insert_range end key accordingly. Suggested-by: Caleb Sander Mateos Signed-off-by: Ming Lei Link: https://patch.msgid.link/20260409133020.3780098-4-tom.leiming@gmail.com Signed-off-by: Jens Axboe --- diff --git a/drivers/block/ublk_drv.c b/drivers/block/ublk_drv.c index 8fef6dfee271a..1257acc4522a9 100644 --- a/drivers/block/ublk_drv.c +++ b/drivers/block/ublk_drv.c @@ -5287,7 +5287,7 @@ static int __ublk_ctrl_reg_buf(struct ublk_device *ub, unsigned long i; int ret; - for (i = 0; i < nr_pages; ) { + for (i = 0; i < nr_pages; i++) { unsigned long pfn = page_to_pfn(pages[i]); unsigned long start = i; struct ublk_buf_range *range; @@ -5296,7 +5296,6 @@ static int __ublk_ctrl_reg_buf(struct ublk_device *ub, while (i + 1 < nr_pages && page_to_pfn(pages[i + 1]) == pfn + (i - start) + 1) i++; - i++; /* past the last page in this run */ range = kzalloc(sizeof(*range), GFP_KERNEL); if (!range) { @@ -5308,7 +5307,7 @@ static int __ublk_ctrl_reg_buf(struct ublk_device *ub, range->base_offset = start << PAGE_SHIFT; ret = mtree_insert_range(&ub->buf_tree, pfn, - pfn + (i - start) - 1, + pfn + (i - start), range, GFP_KERNEL); if (ret) { kfree(range);