diff options
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r-- | mm/page_alloc.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 0a502e99ee22..bdd5c432c426 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -45,6 +45,7 @@ | |||
45 | #include <linux/fault-inject.h> | 45 | #include <linux/fault-inject.h> |
46 | #include <linux/page-isolation.h> | 46 | #include <linux/page-isolation.h> |
47 | #include <linux/memcontrol.h> | 47 | #include <linux/memcontrol.h> |
48 | #include <linux/debugobjects.h> | ||
48 | 49 | ||
49 | #include <asm/tlbflush.h> | 50 | #include <asm/tlbflush.h> |
50 | #include <asm/div64.h> | 51 | #include <asm/div64.h> |
@@ -532,8 +533,11 @@ static void __free_pages_ok(struct page *page, unsigned int order) | |||
532 | if (reserved) | 533 | if (reserved) |
533 | return; | 534 | return; |
534 | 535 | ||
535 | if (!PageHighMem(page)) | 536 | if (!PageHighMem(page)) { |
536 | debug_check_no_locks_freed(page_address(page),PAGE_SIZE<<order); | 537 | debug_check_no_locks_freed(page_address(page),PAGE_SIZE<<order); |
538 | debug_check_no_obj_freed(page_address(page), | ||
539 | PAGE_SIZE << order); | ||
540 | } | ||
537 | arch_free_page(page, order); | 541 | arch_free_page(page, order); |
538 | kernel_map_pages(page, 1 << order, 0); | 542 | kernel_map_pages(page, 1 << order, 0); |
539 | 543 | ||
@@ -995,8 +999,10 @@ static void free_hot_cold_page(struct page *page, int cold) | |||
995 | if (free_pages_check(page)) | 999 | if (free_pages_check(page)) |
996 | return; | 1000 | return; |
997 | 1001 | ||
998 | if (!PageHighMem(page)) | 1002 | if (!PageHighMem(page)) { |
999 | debug_check_no_locks_freed(page_address(page), PAGE_SIZE); | 1003 | debug_check_no_locks_freed(page_address(page), PAGE_SIZE); |
1004 | debug_check_no_obj_freed(page_address(page), PAGE_SIZE); | ||
1005 | } | ||
1000 | arch_free_page(page, 0); | 1006 | arch_free_page(page, 0); |
1001 | kernel_map_pages(page, 1, 0); | 1007 | kernel_map_pages(page, 1, 0); |
1002 | 1008 | ||