summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mm/compaction.c2
-rw-r--r--mm/page_alloc.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/mm/compaction.c b/mm/compaction.c
index de3e1e71cd9f..ad6ee6da933d 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -60,9 +60,9 @@ static void map_pages(struct list_head *list)
struct page *page;
list_for_each_entry(page, list, lru) {
+ kasan_alloc_pages(page, 0);
arch_alloc_page(page, 0);
kernel_map_pages(page, 1, 1);
- kasan_alloc_pages(page, 0);
}
}
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 5e7050897ec4..d63689fda9b4 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -972,7 +972,6 @@ static bool free_pages_prepare(struct page *page, unsigned int order)
trace_mm_page_free(page, order);
kmemcheck_free_shadow(page, order);
- kasan_free_pages(page, order);
if (PageAnon(page))
page->mapping = NULL;
@@ -995,6 +994,7 @@ static bool free_pages_prepare(struct page *page, unsigned int order)
}
arch_free_page(page, order);
kernel_map_pages(page, 1 << order, 0);
+ kasan_free_pages(page, order);
return true;
}
@@ -1391,9 +1391,9 @@ static int prep_new_page(struct page *page, unsigned int order, gfp_t gfp_flags,
set_page_private(page, 0);
set_page_refcounted(page);
+ kasan_alloc_pages(page, order);
arch_alloc_page(page, order);
kernel_map_pages(page, 1 << order, 1);
- kasan_alloc_pages(page, order);
if (gfp_flags & __GFP_ZERO)
for (i = 0; i < (1 << order); i++)