kmemleak: Use GFP_ATOMIC for early_alloc().
authorTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Fri, 9 Oct 2009 09:39:24 +0000 (10:39 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 9 Oct 2009 20:28:47 +0000 (13:28 -0700)
We can't use GFP_KERNEL inside rcu_read_lock().

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/kmemleak.c

index 4ea4510e2996cb5dab18852cb1f5e285f7fbd81e..a6175180d18817841ca49f139a878ce9d6916a4a 100644 (file)
@@ -833,7 +833,7 @@ static void early_alloc(struct early_log *log)
         */
        rcu_read_lock();
        object = create_object((unsigned long)log->ptr, log->size,
-                              log->min_count, GFP_KERNEL);
+                              log->min_count, GFP_ATOMIC);
        spin_lock_irqsave(&object->lock, flags);
        for (i = 0; i < log->trace_len; i++)
                object->trace[i] = log->trace[i];