diff options
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r-- | mm/page_alloc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 6cbde310abed..eee82bfb7cd8 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -65,6 +65,7 @@ | |||
65 | #include <linux/page_owner.h> | 65 | #include <linux/page_owner.h> |
66 | #include <linux/kthread.h> | 66 | #include <linux/kthread.h> |
67 | #include <linux/memcontrol.h> | 67 | #include <linux/memcontrol.h> |
68 | #include <linux/ftrace.h> | ||
68 | 69 | ||
69 | #include <asm/sections.h> | 70 | #include <asm/sections.h> |
70 | #include <asm/tlbflush.h> | 71 | #include <asm/tlbflush.h> |
@@ -6605,6 +6606,9 @@ unsigned long free_reserved_area(void *start, void *end, int poison, char *s) | |||
6605 | void *pos; | 6606 | void *pos; |
6606 | unsigned long pages = 0; | 6607 | unsigned long pages = 0; |
6607 | 6608 | ||
6609 | /* This may be .init text, inform ftrace to remove it */ | ||
6610 | ftrace_free_mem(start, end); | ||
6611 | |||
6608 | start = (void *)PAGE_ALIGN((unsigned long)start); | 6612 | start = (void *)PAGE_ALIGN((unsigned long)start); |
6609 | end = (void *)((unsigned long)end & PAGE_MASK); | 6613 | end = (void *)((unsigned long)end & PAGE_MASK); |
6610 | for (pos = start; pos < end; pos += PAGE_SIZE, pages++) { | 6614 | for (pos = start; pos < end; pos += PAGE_SIZE, pages++) { |