On Fri, 15 Jan 2010, Christoph Lameter wrote: > An allocated kmem_cache structure is definitely not in the range of the > kmalloc_caches array. This is basically checking if s is pointing to the > static kmalloc array. Check was wrong.. Sigh... --- mm/slub.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Index: linux-2.6/mm/slub.c =================================================================== --- linux-2.6.orig/mm/slub.c 2010-01-19 12:50:20.000000000 -0600 +++ linux-2.6/mm/slub.c 2010-01-19 12:51:30.000000000 -0600 @@ -2148,7 +2148,8 @@ static int init_kmem_cache_nodes(struct int node; int local_node; - if (slab_state >= UP) + if (slab_state >= UP && (s < kmalloc_caches || + s > kmalloc_caches + KMALLOC_CACHES)) local_node = page_to_nid(virt_to_page(s)); else local_node = 0; -- To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |