On Wed, Feb 27, 2019 at 12:24:45PM -0500, Qian Cai wrote:
> After offlined a memory block, kmemleak scan will trigger a crash, as it
> encounters a page ext address that has already been freed during memory
> offlining. At the beginning in alloc_page_ext(), it calls
> kmemleak_alloc(), but it does not call kmemleak_free() in
> free_page_ext().
[...]
> diff --git a/mm/page_ext.c b/mm/page_ext.c
> index 8c78b8d45117..0b6637d7bae9 100644
> --- a/mm/page_ext.c
> +++ b/mm/page_ext.c
> @@ -274,6 +274,7 @@ static void free_page_ext(void *addr)
>  
>               BUG_ON(PageReserved(page));
>               free_pages_exact(addr, table_size);
> +             kmemleak_free(addr);

Same comment as for v1, call kmemleak_free() before free_pages_exact().
With that:

Reviewed-by: Catalin Marinas <[email protected]>

Reply via email to