summaryrefslogtreecommitdiffstats
path: root/mm/page_alloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r--mm/page_alloc.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 465391811c2e..f1f225608413 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1689,10 +1689,10 @@ static inline int check_new_page(struct page *page)
1689 return 1; 1689 return 1;
1690} 1690}
1691 1691
1692static inline bool free_pages_prezeroed(bool poisoned) 1692static inline bool free_pages_prezeroed(void)
1693{ 1693{
1694 return IS_ENABLED(CONFIG_PAGE_POISONING_ZERO) && 1694 return IS_ENABLED(CONFIG_PAGE_POISONING_ZERO) &&
1695 page_poisoning_enabled() && poisoned; 1695 page_poisoning_enabled();
1696} 1696}
1697 1697
1698#ifdef CONFIG_DEBUG_VM 1698#ifdef CONFIG_DEBUG_VM
@@ -1746,17 +1746,10 @@ static void prep_new_page(struct page *page, unsigned int order, gfp_t gfp_flags
1746 unsigned int alloc_flags) 1746 unsigned int alloc_flags)
1747{ 1747{
1748 int i; 1748 int i;
1749 bool poisoned = true;
1750
1751 for (i = 0; i < (1 << order); i++) {
1752 struct page *p = page + i;
1753 if (poisoned)
1754 poisoned &= page_is_poisoned(p);
1755 }
1756 1749
1757 post_alloc_hook(page, order, gfp_flags); 1750 post_alloc_hook(page, order, gfp_flags);
1758 1751
1759 if (!free_pages_prezeroed(poisoned) && (gfp_flags & __GFP_ZERO)) 1752 if (!free_pages_prezeroed() && (gfp_flags & __GFP_ZERO))
1760 for (i = 0; i < (1 << order); i++) 1753 for (i = 0; i < (1 << order); i++)
1761 clear_highpage(page + i); 1754 clear_highpage(page + i);
1762 1755