tree e8058670390c934dbb835bf5be9b18edab829823
parent 345c905d13a4ec9f774b6b4bc038fe4aef26cced
author Steven Rostedt <rostedt@goodmis.org> 1358442826 -0500
committer Pekka Enberg <penberg@kernel.org> 1373213963 +0300

slob: Check for NULL pointer before calling ctor()

While doing some code inspection, I noticed that the slob constructor
method can be called with a NULL pointer. If memory is tight and slob
fails to allocate with slob_alloc() or slob_new_pages() it still calls
the ctor() method with a NULL pointer. Looking at the first ctor()
method I found, I noticed that it can not handle a NULL pointer (I'm
sure others probably can't either):

static void sighand_ctor(void *data)
{
        struct sighand_struct *sighand = data;

        spin_lock_init(&sighand->siglock);
        init_waitqueue_head(&sighand->signalfd_wqh);
}

The solution is to only call the ctor() method if allocation succeeded.

Acked-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
