summaryrefslogtreecommitdiffstats
path: root/init/main.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt2008-04-18 08:56:17 +0200
committerPaul Mackerras2008-04-24 12:57:33 +0200
commitf6a616800e68b61807d0f7bb0d5dc70665ef8046 (patch)
tree62f8224cb6a7da0bc203de1be8a7f3485f4b583b /init/main.c
parent[POWERPC] Add thread_info_cache_init() weak hook (diff)
downloadkernel-qcow2-linux-f6a616800e68b61807d0f7bb0d5dc70665ef8046.tar.gz
kernel-qcow2-linux-f6a616800e68b61807d0f7bb0d5dc70665ef8046.tar.xz
kernel-qcow2-linux-f6a616800e68b61807d0f7bb0d5dc70665ef8046.zip
[POWERPC] Fix kernel stack allocation alignment
The powerpc kernel stacks need to be naturally aligned, as they contain the thread info at the bottom, which is obtained by clearing the low bits of the stack pointer. However, when using 64K pages, the stack is smaller than a page, so we use kmalloc to allocate it, but that doesn't provide the alignment guarantee we need. It appeared to work so far... until one enables SLUB debugging which then returns unaligned pointers. Ooops... This fixes it by using a slab cache with enforced alignment. It relies on my previous patch that adds a thread_info_cache_init() callback. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'init/main.c')
0 files changed, 0 insertions, 0 deletions