Commit 8dd60a3a authored by Andrea Arcangeli's avatar Andrea Arcangeli Committed by Linus Torvalds

thp: clear compound mapping

Clear compound mapping for anonymous compound pages like it already
happens for regular anonymous pages.  But crash if mapping is set for any
tail page, also the PageAnon check is meaningless for tail pages.  This
check only makes sense for the head page, for tail page it can only hide
bugs and we definitely don't want to hide bugs.
Signed-off-by: default avatarAndrea Arcangeli <aarcange@redhat.com>
Acked-by: default avatarRik van Riel <riel@redhat.com>
Acked-by: default avatarMel Gorman <mel@csn.ul.ie>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent a5b338f2
...@@ -651,13 +651,10 @@ static bool free_pages_prepare(struct page *page, unsigned int order) ...@@ -651,13 +651,10 @@ static bool free_pages_prepare(struct page *page, unsigned int order)
trace_mm_page_free_direct(page, order); trace_mm_page_free_direct(page, order);
kmemcheck_free_shadow(page, order); kmemcheck_free_shadow(page, order);
for (i = 0; i < (1 << order); i++) { if (PageAnon(page))
struct page *pg = page + i; page->mapping = NULL;
for (i = 0; i < (1 << order); i++)
if (PageAnon(pg)) bad += free_pages_check(page + i);
pg->mapping = NULL;
bad += free_pages_check(pg);
}
if (bad) if (bad)
return false; return false;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment