Messages in this thread Patch in this message | | | Date | Fri, 20 Jan 2012 11:01:11 +0000 | From | Catalin Marinas <> | Subject | Re: [Problem] kernel hangs at boot (bisected 892d208bcf) |
| |
On Thu, Jan 19, 2012 at 08:52:44PM +0000, Dirk Gouders wrote: > Dirk Gouders <gouders@et.bocholt.fh-gelsenkirchen.de> writes: > I want to note that in my config CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF is > set which causes kmemleak_disable() to be called in kmemleak_init().
Thanks for the investigation. Could you please try the patch below? Thanks.
From 09e7bd41ff3fd07e4c5eea7bbb0a045921eb5944 Mon Sep 17 00:00:00 2001 From: Catalin Marinas <catalin.marinas@arm.com> Date: Fri, 20 Jan 2012 10:42:40 +0000 Subject: [PATCH] kmemleak: Disable early logging when kmemleak is off by default
Commit b6693005 (kmemleak: When the early log buffer is exceeded, report the actual number) deferred the disabling of the early logging to kmemleak_init(). However, when CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y, the early logging was no longer disabled causing __init kmemleak functions to be called even after the kernel freed the init memory. This patch disables the early logging during kmemleak_init() if kmemleak is left disabled.
Reported-by: Dirk Gouders <gouders@et.bocholt.fh-gelsenkirchen.de> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> --- mm/kmemleak.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/mm/kmemleak.c b/mm/kmemleak.c index f9f7310..45eb621 100644 --- a/mm/kmemleak.c +++ b/mm/kmemleak.c @@ -1757,6 +1757,7 @@ void __init kmemleak_init(void) #ifdef CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF if (!kmemleak_skip_disable) { + atomic_set(&kmemleak_early_log, 0); kmemleak_disable(); return; } -- Catalin
| |