Re: [linux-next-20130422] Bug in SLAB?

From: Pekka Enberg
Date: Wed May 01 2013 - 04:05:37 EST


On 4/30/13 8:27 PM, Christoph Lameter wrote:
"kmalloc() returning NULL for these allocations" is needed by "try kmalloc()
first, fallback to vmalloc()" allocation. There are kernel modules which expect
kmalloc() to return NULL rather than oops when the requested size is larger
than KMALLOC_MAX_SIZE bytes. If kmalloc() suddenly starts triggering oops, such
modules will break.

This behavior has been in there for years. Why try a kmalloc that
always fails since the size is too big?

...because want the extra protection for cases where size is controlled by userspace. This is consistent with kcalloc() that returns NULL on integer overflow.

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