From: Aaron Tomlin Date: Fri, 26 Apr 2013 15:15:34 +0000 (+0100) Subject: mm: slab: Verify the nodeid passed to ____cache_alloc_node X-Git-Tag: v3.12-rc1~400^2~17 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=14e50c6a9bc2b283bb4021026226268312ceefdd;p=kernel%2Fkernel-generic.git mm: slab: Verify the nodeid passed to ____cache_alloc_node If the nodeid is > num_online_nodes() this can cause an Oops and a panic(). The purpose of this patch is to assert if this condition is true to aid debugging efforts rather than some random NULL pointer dereference or page fault. This patch is in response to BZ#42967 [1]. Using VM_BUG_ON so it's used only when CONFIG_DEBUG_VM is set, given that ____cache_alloc_node() is a hot code path. [1]: https://bugzilla.kernel.org/show_bug.cgi?id=42967 Signed-off-by: Aaron Tomlin Reviewed-by: Rik van Riel Acked-by: Christoph Lameter Acked-by: Rafael Aquini Acked-by: David Rientjes Signed-off-by: Pekka Enberg --- diff --git a/mm/slab.c b/mm/slab.c index 910df63..a98f8db 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -3289,6 +3289,7 @@ static void *____cache_alloc_node(struct kmem_cache *cachep, gfp_t flags, void *obj; int x; + VM_BUG_ON(nodeid > num_online_nodes()); n = cachep->node[nodeid]; BUG_ON(!n);