kmemleak: Check for NULL pointer returned by create_object()
This patch adds NULL pointer checking in the early_alloc() function. Reported-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Pekka Enberg <penberg@cs.helsinki.fi> Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
c1bcd6b327
commit
0d5d1aadc8
1 changed files with 3 additions and 0 deletions
|
@ -834,11 +834,14 @@ static void early_alloc(struct early_log *log)
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
object = create_object((unsigned long)log->ptr, log->size,
|
object = create_object((unsigned long)log->ptr, log->size,
|
||||||
log->min_count, GFP_ATOMIC);
|
log->min_count, GFP_ATOMIC);
|
||||||
|
if (!object)
|
||||||
|
goto out;
|
||||||
spin_lock_irqsave(&object->lock, flags);
|
spin_lock_irqsave(&object->lock, flags);
|
||||||
for (i = 0; i < log->trace_len; i++)
|
for (i = 0; i < log->trace_len; i++)
|
||||||
object->trace[i] = log->trace[i];
|
object->trace[i] = log->trace[i];
|
||||||
object->trace_len = log->trace_len;
|
object->trace_len = log->trace_len;
|
||||||
spin_unlock_irqrestore(&object->lock, flags);
|
spin_unlock_irqrestore(&object->lock, flags);
|
||||||
|
out:
|
||||||
rcu_read_unlock();
|
rcu_read_unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue