Commit 76b3aec3 authored by Kirill A. Shutemov's avatar Kirill A. Shutemov Committed by Linus Torvalds

tile: handle pgtable_page_ctor() fail

Signed-off-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Acked-by: default avatarChris Metcalf <cmetcalf@tilera.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 1ae9ae5f
...@@ -241,6 +241,11 @@ struct page *pgtable_alloc_one(struct mm_struct *mm, unsigned long address, ...@@ -241,6 +241,11 @@ struct page *pgtable_alloc_one(struct mm_struct *mm, unsigned long address,
if (p == NULL) if (p == NULL)
return NULL; return NULL;
if (!pgtable_page_ctor(p)) {
__free_pages(p, L2_USER_PGTABLE_ORDER);
return NULL;
}
/* /*
* Make every page have a page_count() of one, not just the first. * Make every page have a page_count() of one, not just the first.
* We don't use __GFP_COMP since it doesn't look like it works * We don't use __GFP_COMP since it doesn't look like it works
...@@ -251,7 +256,6 @@ struct page *pgtable_alloc_one(struct mm_struct *mm, unsigned long address, ...@@ -251,7 +256,6 @@ struct page *pgtable_alloc_one(struct mm_struct *mm, unsigned long address,
inc_zone_page_state(p+i, NR_PAGETABLE); inc_zone_page_state(p+i, NR_PAGETABLE);
} }
pgtable_page_ctor(p);
return p; return p;
} }
......
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