The patch titled Subject: mm/slub: use stackdepot to save stack trace in objects-fix has been added to the -mm tree. Its filename is mm-slub-use-stackdepot-to-save-stack-trace-in-objects-fix-2.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/mm-slub-use-stackdepot-to-save-stack-trace-in-objects-fix-2.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/mm-slub-use-stackdepot-to-save-stack-trace-in-objects-fix-2.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Vlastimil Babka <vbabka@xxxxxxx> Subject: mm/slub: use stackdepot to save stack trace in objects-fix Paul reports [1] lockdep splat HARDIRQ-safe -> HARDIRQ-unsafe lock order detected. Kernel test robot reports [2] BUG:sleeping_function_called_from_invalid_context_at_mm/page_alloc.c The stack trace might be saved from contexts where we can't block so GFP_KERNEL is unsafe. So Use GFP_NOWAIT. Under memory pressure we might thus fail to save some new unique stack, but that should be extremely rare. [1] https://lore.kernel.org/linux-mm/20210515204622.GA2672367@paulmck-ThinkPad-P17-Gen-1/ [2] https://lore.kernel.org/linux-mm/20210516144152.GA25903@xsang-OptiPlex-9020/ Link: https://lkml.kernel.org/r/20210516195150.26740-1-vbabka@xxxxxxx Reported-by: Paul E. McKenney <paulmck@xxxxxxxxxx> Tested-by: Paul E. McKenney <paulmck@xxxxxxxxxx> Reported-by: kernel test robot <oliver.sang@xxxxxxxxx> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/slub.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/mm/slub.c~mm-slub-use-stackdepot-to-save-stack-trace-in-objects-fix-2 +++ a/mm/slub.c @@ -624,7 +624,7 @@ static void set_track(struct kmem_cache if (addr) { #ifdef CONFIG_STACKDEPOT - p->handle = save_stack_depot_trace(GFP_KERNEL); + p->handle = save_stack_depot_trace(GFP_NOWAIT); #endif p->addr = addr; p->cpu = smp_processor_id(); _ Patches currently in -mm which might be from vbabka@xxxxxxx are kunit-make-test-lock-irq-safe.patch mm-memcg-slab-create-a-new-set-of-kmalloc-cg-n-caches-fix.patch mm-slub-use-stackdepot-to-save-stack-trace-in-objects-fix-2.patch