Re: [RESEND PATCH v2] of: fix kmemleak crash caused by imbalance in early memory reservation

From: Marc Gonzalez
Date: Wed Feb 13 2019 - 04:28:19 EST


On 13/02/2019 07:57, Mike Rapoport wrote:

> Below is the version vs. current mmotm.
>
> From 9ea6dceb46067d4f1cbbdbec1189c8496aa0a4bc Mon Sep 17 00:00:00 2001
> From: Mike Rapoport <rppt@xxxxxxxxxxxxx>
> Date: Mon, 4 Feb 2019 15:37:21 +0100
> Subject: [PATCH] of: fix kmemleak crash caused by imbalance in early memory reservation

Out of curiosity, why don't you send as a proper v3?

> Marc Gonzalez reported the following kmemleak crash:
>
> [...]
>
> The crash happens when a no-map area is allocated in
> early_init_dt_alloc_reserved_memory_arch(). The allocated region is
> registered with kmemleak, but it is then removed from memblock using
> memblock_remove() that is not kmemleak-aware.
>
> Replacing __memblock_alloc_base() with memblock_find_in_range()

Nit: in this new version, you're replacing memblock_phys_alloc_range()
with memblock_find_in_range() so I don't know if the comment still
applies.

> makes sure that the allocated memory is not added to kmemleak and then
> memblock_remove()'ing this memory is safe.
>
> As a bonus, since memblock_find_in_range() ensures the allocation in the
> specified range, the bounds check can be removed.
>
> Cc: stable@xxxxxxxxxxxxxxx # 3.15+
> Fixes: 3f0c820664483 ("drivers: of: add initialization code for dynamic reserved memory")
> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
> Acked-by: Prateek Patel <prpatel@xxxxxxxxxx>
> Tested-by: Marc Gonzalez <marc.w.gonzalez@xxxxxxx>
> Signed-off-by: Mike Rapoport <rppt@xxxxxxxxxxxxx>