memblock: Make a boundary tighter in memblock_add_range().
authorPeng Zhang <zhangpeng.00@bytedance.com>
Sun, 29 Jan 2023 09:00:33 +0000 (17:00 +0800)
committerMike Rapoport (IBM) <rppt@kernel.org>
Tue, 31 Jan 2023 13:51:42 +0000 (15:51 +0200)
When type->cnt * 2 + 1 is less than or equal to type->max, there is
enough empty regions to insert.

Signed-off-by: Peng Zhang <zhangpeng.00@bytedance.com>
Link: https://lore.kernel.org/r/20230129090034.12310-2-zhangpeng.00@bytedance.com
Signed-off-by: Mike Rapoport (IBM) <rppt@kernel.org>
mm/memblock.c

index 685e30e6d27c5b698b8842a5609ca88bc34a370c..836eb71ea3eabdb71bafc07432af6ff373cd8a51 100644 (file)
@@ -601,11 +601,11 @@ static int __init_memblock memblock_add_range(struct memblock_type *type,
        /*
         * The worst case is when new range overlaps all existing regions,
         * then we'll need type->cnt + 1 empty regions in @type. So if
-        * type->cnt * 2 + 1 is less than type->max, we know
+        * type->cnt * 2 + 1 is less than or equal to type->max, we know
         * that there is enough empty regions in @type, and we can insert
         * regions directly.
         */
-       if (type->cnt * 2 + 1 < type->max)
+       if (type->cnt * 2 + 1 <= type->max)
                insert = true;
 
 repeat: