Re: mm: slub: invalid memory access in setup_object

From: Andrew Morton
Date: Tue Jul 01 2014 - 17:49:54 EST


On Tue, 1 Jul 2014 09:58:52 -0500 (CDT) Christoph Lameter <cl@xxxxxxxxxx> wrote:

> On Mon, 30 Jun 2014, David Rientjes wrote:
>
> > It's not at all clear to me that that patch is correct. Wei?
>
> Looks ok to me. But I do not like the convoluted code in new_slab() which
> Wei's patch does not make easier to read. Makes it difficult for the
> reader to see whats going on.
>
> Lets drop the use of the variable named "last".
>
>
> Subject: slub: Only call setup_object once for each object
>
> Modify the logic for object initialization to be less convoluted
> and initialize an object only once.
>

Well, um. Wei's changelog was much better:

: When a kmem_cache is created with ctor, each object in the kmem_cache will
: be initialized before use. In the slub implementation, the first object
: will be initialized twice.
:
: This patch avoids the duplication of initialization of the first object.
:
: Fixes commit 7656c72b5a63: ("SLUB: add macros for scanning objects in a
: slab").

I can copy that text over and add the reported-by etc (ho hum) but I
have a tiny feeling that this patch hasn't been rigorously tested?
Perhaps someone (Wei?) can do that?

And we still don't know why Sasha's kernel went oops.
--
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/