diff options
author | Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> | 2009-10-09 05:39:24 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-09 16:28:47 -0400 |
commit | c1bcd6b327a0c0d5077eb158a600947aac7d124a (patch) | |
tree | 220d81fbabf491fa0e2461104d36137474c35697 /mm/kmemleak.c | |
parent | 084d3200d523fc24d95e97797b6cdf1256bf0d1b (diff) |
kmemleak: Use GFP_ATOMIC for early_alloc().
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>
Diffstat (limited to 'mm/kmemleak.c')
-rw-r--r-- | mm/kmemleak.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/kmemleak.c b/mm/kmemleak.c index 4ea4510e2996..a6175180d188 100644 --- a/mm/kmemleak.c +++ b/mm/kmemleak.c | |||
@@ -833,7 +833,7 @@ static void early_alloc(struct early_log *log) | |||
833 | */ | 833 | */ |
834 | rcu_read_lock(); | 834 | rcu_read_lock(); |
835 | object = create_object((unsigned long)log->ptr, log->size, | 835 | object = create_object((unsigned long)log->ptr, log->size, |
836 | log->min_count, GFP_KERNEL); | 836 | log->min_count, GFP_ATOMIC); |
837 | spin_lock_irqsave(&object->lock, flags); | 837 | spin_lock_irqsave(&object->lock, flags); |
838 | for (i = 0; i < log->trace_len; i++) | 838 | for (i = 0; i < log->trace_len; i++) |
839 | object->trace[i] = log->trace[i]; | 839 | object->trace[i] = log->trace[i]; |