Re: [PATCH] [PATCH] memblock: Fix return sizeless candidate on __memblock_find_range_top_down.

From: Mike Rapoport
Date: Wed Jan 04 2023 - 05:24:55 EST


On Wed, Jan 04, 2023 at 06:50:49PM +0900, Levi Yun wrote:
> __memblock_find_range_top_down can return start address of free region
> which sizeless then user speicified.
> To prevent the above case, add size check on candidate free region.

Did you see an actual issue or it's solely based on code inspection?

> Signed-off-by: Levi Yun <ppbuk5246@xxxxxxxxx>
> ---
> mm/memblock.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/memblock.c b/mm/memblock.c
> index 511d4783dcf1..710e2ef8d67d 100644
> --- a/mm/memblock.c
> +++ b/mm/memblock.c
> @@ -262,7 +262,7 @@ __memblock_find_range_top_down(phys_addr_t start, phys_addr_t end,
> continue;
>
> cand = round_down(this_end - size, align);
> - if (cand >= this_start)
> + if (cand >= this_start && this_end - cand >= size)
> return cand;
> }
>
> --
> 2.35.1
>

--
Sincerely yours,
Mike.