Re: [BUG] kmem_cache_grow.

Alan Cox (alan@lxorguk.ukuu.org.uk)
Mon, 15 Apr 2002 10:16:42 +0100 (BST)


> Problem: first run "find /" , eject and insert pcmcia network's card, the kernel will crash.

Which network card and what kernel revision

> Kernel oops: at
> linux/mm/slab.c->kmem_cache_grow.
> if (in_interrupt() && (flags & SLAB_LEVEL_MASK) != SLAB_ATOMIC)
> BUG(); <-- here.
>
> Can I remove this check ?

The kernel realised it was being made to sleep in an interrupt. If you
remove the check it will crash anyway. If you did something like

if(..... as before ...)
{
flags&=~SLAB_LEVEL_MASK;
flags|=SLAB_ATOMIC;
printk(KERN_ERR "kmem: critical memory allocation level error.\n");
}

it ought to print a complaint and continue. Really however it wants fixing
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/