diff options
Diffstat (limited to 'mm/hugetlb.c')
| -rw-r--r-- | mm/hugetlb.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 7f2a28ab46d5..a80832487981 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1248,10 +1248,11 @@ void free_huge_page(struct page *page)  		(struct hugepage_subpool *)page_private(page);  	bool restore_reserve; -	set_page_private(page, 0); -	page->mapping = NULL;  	VM_BUG_ON_PAGE(page_count(page), page);  	VM_BUG_ON_PAGE(page_mapcount(page), page); + +	set_page_private(page, 0); +	page->mapping = NULL;  	restore_reserve = PagePrivate(page);  	ClearPagePrivate(page); @@ -4080,7 +4081,7 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm,  		/* fallback to copy_from_user outside mmap_sem */  		if (unlikely(ret)) { -			ret = -EFAULT; +			ret = -ENOENT;  			*pagep = page;  			/* don't free the page */  			goto out;  | 
