Re: [PATCH] slab+slob: dup name string

From: Glauber Costa
Date: Wed May 23 2012 - 11:04:27 EST


On 05/23/2012 06:48 PM, Christoph Lameter wrote:
On Wed, 23 May 2012, James Bottomley wrote:

So, why not simply patch slab to rely on the string lifetime being the
cache lifetime (or beyond) and therefore not having it take a copy?

Well thats they way it was for a long time. There must be some reason that
someone started to add this copying business.... Pekka?


From git:

commit 84c1cf62465e2fb0a692620dcfeb52323ab03d48
Author: Pekka Enberg <penberg@xxxxxxxxxx>
Date: Tue Sep 14 23:21:12 2010 +0300

SLUB: Fix merged slab cache names

As explained by Linus "I'm Proud to be an American" Torvalds:

Looking at the merging code, I actually think it's totally
buggy. If you have something like this:

- load module A: create slab cache A

- load module B: create slab cache B that can merge with A

- unload module A

- "cat /proc/slabinfo": BOOM. Oops.

exactly because the name is not handled correctly, and you'll have
module B holding open a slab cache that has a name pointer that points
to module A that no longer exists.

So if I understand it correctly, this is mostly because the name string outlives the cache in the slub case, because of merging ?
--
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/