Crash on kmalloc with GFP_KERNEL

From: Francois Cartegnie
Date: Mon Aug 11 2003 - 04:05:15 EST


Hello,

I'm currently extending the u32 classifier (linux traffic control).
I've experienced some strange behaviour with memory allocation :
A single kmalloc with GFP_KERNEL leads to kernel panic (BUG, slab.c) when
there's multiple requests matching the classifier.
Thinking about concurrent access, I tried to lock the allocation with
semaphores.
The only way to solve it was to use GFP_ATOMIC (but I also experienced It
still crash in some cases).

This is really similar to the bug report made on netfilter buzilla:
https://bugzilla.netfilter.org/cgi-bin/bugzilla/show_bug.cgi?id=68

So I guess the memory allocations are interrupted by arrival of new packets
and then crash.
-Is there any way to fix it to use GFP_KERNEL memory allocations ?

-Also, the original u32 code uses GFP_KERNEL for storing it's matching rules.
I guess It would crash here too if the rules are created under heavy network
traffic. Any idea ?


Greetings,

-
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/