X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fia64%2Fmm%2Fhugetlbpage.c;h=c724358125863c7e68231040503753613d231a27;hb=9c920a8402f2bb9bd931801d429b65f4eb6a262b;hp=fbd24a07425502ab46e380c79b576a8535847d4d;hpb=a91482bdcc2e0f6035702e46f1b99043a0893346;p=linux-2.6.git diff --git a/arch/ia64/mm/hugetlbpage.c b/arch/ia64/mm/hugetlbpage.c index fbd24a074..c72435812 100644 --- a/arch/ia64/mm/hugetlbpage.c +++ b/arch/ia64/mm/hugetlbpage.c @@ -160,6 +160,8 @@ struct page *follow_huge_addr(struct mm_struct *mm, unsigned long addr, int writ struct page *page; pte_t *ptep; + if (! mm->used_hugetlb) + return ERR_PTR(-EINVAL); if (REGION_NUMBER(addr) != REGION_HPAGE) return ERR_PTR(-EINVAL); @@ -298,7 +300,7 @@ int hugetlb_prefault(struct address_space *mapping, struct vm_area_struct *vma) unlock_page(page); } else { hugetlb_put_quota(mapping); - page_cache_release(page); + free_huge_page(page); goto out; } }