SLUB: fix ARCH_KMALLOC_MINALIGN cases 64 and 256
commitacdfcd04d9df7d084ff752f82afad6ed4ad5f363
authorAaro Koskinen <aaro.koskinen@nokia.com>
Fri, 28 Aug 2009 11:28:54 +0000 (28 14:28 +0300)
committerPekka Enberg <penberg@cs.helsinki.fi>
Sun, 30 Aug 2009 11:56:48 +0000 (30 14:56 +0300)
treeedee979b012067348978d7ea23a58acd4b532a7d
parentcf5d11317e8f2671d3115622aec76274a40f4fc2
SLUB: fix ARCH_KMALLOC_MINALIGN cases 64 and 256

If the minalign is 64 bytes, then the 96 byte cache should not be created
because it would conflict with the 128 byte cache.

If the minalign is 256 bytes, patching the size_index table should not
result in a buffer overrun.

The calculation "(i - 1) / 8" used to access size_index[] is moved to
a separate function as suggested by Christoph Lameter.

Acked-by: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
include/linux/slub_def.h
mm/slub.c