[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <93376a9d-681c-b8e2-0aae-031ae036789e@suse.cz>
Date: Tue, 16 Nov 2021 00:00:29 +0100
From: Vlastimil Babka <vbabka@...e.cz>
To: Rustam Kovhaev <rkovhaev@...il.com>, cl@...ux.com,
penberg@...nel.org, rientjes@...gle.com, iamjoonsoo.kim@....com,
akpm@...ux-foundation.org, catalin.marinas@....com
Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org,
gregkh@...uxfoundation.org
Subject: Re: [PATCH] mm: kmemleak: slob: respect SLAB_NOLEAKTRACE flag
On 11/15/21 03:08, Rustam Kovhaev wrote:
> When kmemleak is enabled for SLOB, system does not boot and does not
> print anything to the console. At the very early stage in the boot
> process we hit infinite recursion from kmemleak_init() and eventually
> kernel crashes.
> kmemleak_init() specifies SLAB_NOLEAKTRACE for KMEM_CACHE(), but
> kmem_cache_create_usercopy() removes it because CACHE_CREATE_MASK is not
> valid for SLOB.
> Let's fix CACHE_CREATE_MASK and make kmemleak work with SLOB
>
> Fixes: d8843922fba4 ("slab: Ignore internal flags in cache creation")
> Signed-off-by: Rustam Kovhaev <rkovhaev@...il.com>
Acked-by: Vlastimil Babka <vbabka@...e.cz>
> ---
> mm/slab.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/slab.h b/mm/slab.h
> index 58c01a34e5b8..56ad7eea3ddf 100644
> --- a/mm/slab.h
> +++ b/mm/slab.h
> @@ -147,7 +147,7 @@ static inline slab_flags_t kmem_cache_flags(unsigned int object_size,
> #define SLAB_CACHE_FLAGS (SLAB_NOLEAKTRACE | SLAB_RECLAIM_ACCOUNT | \
> SLAB_TEMPORARY | SLAB_ACCOUNT)
> #else
> -#define SLAB_CACHE_FLAGS (0)
> +#define SLAB_CACHE_FLAGS (SLAB_NOLEAKTRACE)
> #endif
>
> /* Common flags available with current configuration */
>
Powered by blists - more mailing lists