mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 05:02:12 +00:00
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: Andrea Arcangeli <aarcange@redhat.com> Acked-by: Rik van Riel <riel@redhat.com> Acked-by: Mel Gorman <mel@csn.ul.ie> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
a5b338f2b0
commit
8dd60a3a65
@ -651,13 +651,10 @@ static bool free_pages_prepare(struct page *page, unsigned int order)
|
||||
trace_mm_page_free_direct(page, order);
|
||||
kmemcheck_free_shadow(page, order);
|
||||
|
||||
for (i = 0; i < (1 << order); i++) {
|
||||
struct page *pg = page + i;
|
||||
|
||||
if (PageAnon(pg))
|
||||
pg->mapping = NULL;
|
||||
bad += free_pages_check(pg);
|
||||
}
|
||||
if (PageAnon(page))
|
||||
page->mapping = NULL;
|
||||
for (i = 0; i < (1 << order); i++)
|
||||
bad += free_pages_check(page + i);
|
||||
if (bad)
|
||||
return false;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user