Side note: I guess here you meant:
if ((p = malloc(block)) {
Make sure you catch when malloc returns null because of out of memory (the out
of memory in your case happened in the NORMAL zone).
Still the fact it can deadlock the machine is a kernel bug in the memory
management. Probably the 3.5G patch per-task makes simpler to trigger it
because it decreases the size of the normal zone to a few houndred of mbytes.
Andrea
-
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/