Re: Crash of 3.12-rc2 BUG: unable to handle kernel NULL pointerdereference

From: Russell King - ARM Linux
Date: Fri Sep 27 2013 - 17:05:24 EST


On Fri, Sep 27, 2013 at 10:04:44AM -0600, Bjorn Helgaas wrote:
> [+cc Thomas, Russell]

Someone is doing something quite bad in the kernel, and as yet I've not
figured out a way to track it down.

The issue is this: someone is kfree'ing a kobject before its release
function has been called, and the memory is being re-used. The problem
is that when the last reference has been dropped with the debug enabled,
the kobject is linked into the timer lists for the delayed work. When
the timer lists get run, they're found to be corrupted.

The obvious solution to this is to move the delayed work out of the
kobject into a separately allocated structure. That would work if
x86 didn't register kobjects very early in boot, before the memory
allocators were up and running.

Frankly, I've no idea how to solve this. So I regard x86 as just being
difficult and broken. :)

If anyone has any ideas, then I'm all ears.
http://www.annhuey.com/ed-pix/fa_i-pix/I%27m-All-Ears.jpg
--
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/