diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/page_alloc.c | 3 | ||||
-rw-r--r-- | mm/slab.c | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index e0e84924171..a5e6891f7bb 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -415,6 +415,9 @@ static void __free_pages_ok(struct page *page, unsigned int order) int reserved = 0; arch_free_page(page, order); + if (!PageHighMem(page)) + mutex_debug_check_no_locks_freed(page_address(page), + page_address(page+(1<<order))); #ifndef CONFIG_MMU for (i = 1 ; i < (1 << order) ; ++i) diff --git a/mm/slab.c b/mm/slab.c index 1c46c638355..33aab345cd4 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -3071,6 +3071,7 @@ void kfree(const void *objp) local_irq_save(flags); kfree_debugcheck(objp); c = page_get_cache(virt_to_page(objp)); + mutex_debug_check_no_locks_freed(objp, objp+obj_reallen(c)); __cache_free(c, (void *)objp); local_irq_restore(flags); } |