]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ublk: simplify PFN range loop in __ublk_ctrl_reg_buf
authorMing Lei <tom.leiming@gmail.com>
Thu, 9 Apr 2026 13:30:15 +0000 (21:30 +0800)
committerJens Axboe <axboe@kernel.dk>
Fri, 10 Apr 2026 01:08:35 +0000 (19:08 -0600)
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 <csander@purestorage.com>
Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Link: https://patch.msgid.link/20260409133020.3780098-4-tom.leiming@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/ublk_drv.c

index 8fef6dfee271a032ce0b5a1b873860d5ec86d12e..1257acc4522a9386aa9565b93d0d913498600074 100644 (file)
@@ -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);