diff options
Diffstat (limited to 'mm/slub.c')
-rw-r--r-- | mm/slub.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -2153,7 +2153,7 @@ static int init_kmem_cache_nodes(struct kmem_cache *s, gfp_t gfpflags) | |||
2153 | int local_node; | 2153 | int local_node; |
2154 | 2154 | ||
2155 | if (slab_state >= UP && (s < kmalloc_caches || | 2155 | if (slab_state >= UP && (s < kmalloc_caches || |
2156 | s > kmalloc_caches + KMALLOC_CACHES)) | 2156 | s >= kmalloc_caches + KMALLOC_CACHES)) |
2157 | local_node = page_to_nid(virt_to_page(s)); | 2157 | local_node = page_to_nid(virt_to_page(s)); |
2158 | else | 2158 | else |
2159 | local_node = 0; | 2159 | local_node = 0; |
@@ -2386,6 +2386,9 @@ int kmem_ptr_validate(struct kmem_cache *s, const void *object) | |||
2386 | { | 2386 | { |
2387 | struct page *page; | 2387 | struct page *page; |
2388 | 2388 | ||
2389 | if (!kern_ptr_validate(object, s->size)) | ||
2390 | return 0; | ||
2391 | |||
2389 | page = get_object_page(object); | 2392 | page = get_object_page(object); |
2390 | 2393 | ||
2391 | if (!page || s != page->slab) | 2394 | if (!page || s != page->slab) |