diff options
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r-- | mm/page_alloc.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index c5caac2c3c5..40db96a655d 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -495,15 +495,13 @@ static void __free_pages_ok(struct page *page, unsigned int order) int i; int reserved = 0; - if (!PageHighMem(page)) - debug_check_no_locks_freed(page_address(page), - PAGE_SIZE<<order); - for (i = 0 ; i < (1 << order) ; ++i) reserved += free_pages_check(page + i); if (reserved) return; + if (!PageHighMem(page)) + debug_check_no_locks_freed(page_address(page),PAGE_SIZE<<order); arch_free_page(page, order); kernel_map_pages(page, 1 << order, 0); @@ -787,6 +785,8 @@ static void fastcall free_hot_cold_page(struct page *page, int cold) if (free_pages_check(page)) return; + if (!PageHighMem(page)) + debug_check_no_locks_freed(page_address(page), PAGE_SIZE); arch_free_page(page, 0); kernel_map_pages(page, 1, 0); |