Re: [BUG?] kernel OOPS at kmem_cache_alloc_node() because of smp_processor_id()

From: Igor Mammedov
Date: Fri Oct 16 2015 - 04:09:21 EST


On Fri, 16 Oct 2015 11:49:36 +0800
Gonglei <arei.gonglei@xxxxxxxxxx> wrote:

> On 2015/10/15 22:39, Christoph Lameter wrote:
> > On Thu, 15 Oct 2015, Gonglei (Arei) wrote:
> >
> >> [ 0.016000] Call Trace:
> >> [ 0.016000] [<ffffffff810061dc>] dump_trace+0x6c/0x2d0
> >> [ 0.016000] [<ffffffff81394288>] dump_stack+0x69/0x71
> >> [ 0.016000] [<ffffffff81394308>] panic+0x78/0x199
> >> [ 0.016000] [<ffffffff81050fff>] do_exit+0x26f/0x360
> >> [ 0.016000] [<ffffffff813980a1>] oops_end+0xe1/0xf0
> >> [ 0.016000] [<ffffffff8102d955>] __bad_area_nosemaphore+0x155/0x230
> >> [ 0.016000] [<ffffffff813972ef>] page_fault+0x1f/0x30
> >> [ 0.016000] [<ffffffff810ed93f>] kmem_cache_alloc_node+0xbf/0x140
> >> [ 0.016000] [<ffffffff811dc176>] alloc_cpumask_var_node+0x16/0x70
> >> [ 0.016000] [<ffffffff81019888>] native_send_call_func_ipi+0x18/0xf0
> >> [ 0.016000] [<ffffffff810783ee>] smp_call_function_many+0x1ae/0x250
> >> [ 0.016000] [<ffffffff810784b0>] smp_call_function+0x20/0x30
> >> [ 0.016000] [<ffffffff8101580a>] set_mtrr+0x5a/0x140
> >> [ 0.016000] [<ffffffff8138ef17>] smp_callin+0xf0/0x1b4
> >> [ 0.016000] [<ffffffff8138efe9>] start_secondary+0xe/0xb5
> >
> > This happened during IPI processing?
> >
> >> crash> p cache_cache
> >
> > Arg. This is the SLAB allocator. You cannot enable debugging without
> > rebuilding the kernel with CONFIG_SLAB_DEBUG.
> >
> >> smp_processor_id() return 14, the CPU14, but the CPU14 is *stuck*, so cache=
> >> p->array[14] is NULL,
> >> why did this situation happen? And cause NULL pointer accessing? Is this a =
> >> kernel bug?
> >
> > Its likely a bug in some obscure code in a driver that corrupted memory or
> > messed up the way memory was handled. set_mtrr()? What was going on at the
> > time? A special graphics driver being loaded? That could cause issues.
> >
>
> It seems that the problem was fixed by Igor, right?
> https://lkml.org/lkml/2014/3/6/257
That might help.
"stuck" CPU14 means that master CPU has given up on the attempt
to online AP and tried to clean it up from different maps
*but* AP is still running and that may lead to an unexpected
behavior.

>
> Cced Igor Mammedov.
>
> Regards,
> -Gonglei
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/