Re: kernel BUG at mm/slub.c:3689!

From: Christoph Lameter
Date: Mon Jun 11 2007 - 12:49:58 EST


On Mon, 11 Jun 2007, Håvard Skinnemoen wrote:

> On 6/11/07, Christoph Lameter <clameter@xxxxxxx> wrote:
> > On Mon, 11 Jun 2007, Haavard Skinnemoen wrote:
> >
> > > While trying to get SLUB debugging to not break DMA on AVR32, I ran
> > > into this:
> >
> > This is a known bug in 2.6.22-rc2/rc3. Which version are you running?
>
> 2.6.22-rc4. I did a pull from Linus' tree a few hours ago.

Ahhh... I see its the same phenomenon as before but triggered by
a different cause.

If you set the align to 32 then the first kmalloc slabs of size

8
16
32

are all of the same size which leads to duplicate files in sysfs.

Does this patch fix it?

---
mm/slub.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6/mm/slub.c
===================================================================
--- linux-2.6.orig/mm/slub.c 2007-06-11 09:48:04.000000000 -0700
+++ linux-2.6/mm/slub.c 2007-06-11 09:48:17.000000000 -0700
@@ -3579,7 +3579,7 @@ static char *create_unique_id(struct kme
*p++ = 'F';
if (p != name + 1)
*p++ = '-';
- p += sprintf(p, "%07d", s->size);
+ p += sprintf(p, "%07d", s->objsize);
BUG_ON(p > name + ID_STR_LENGTH - 1);
return name;
}