On Tue, Aug 14, 2007 at 02:41:21PM -0500, Adam Litke wrote: > It seems a simple mistake was made when converting follow_hugetlb_page() > over to the VM_FAULT flags bitmask stuff: > (commit 83c54070ee1a2d05c89793884bea1a03f2851ed4). > > By using the wrong bitmask, hugetlb_fault() failures are not being > recognized. This results in an infinite loop whenever > follow_hugetlb_page is involved in a failed fault. > > Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
Thanks Adam. Looks good. > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index d7ca59d..de4cf45 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -643,7 +643,7 @@ int follow_hugetlb_page(struct mm_struct *mm, struct > vm_area_struct *vma, > spin_unlock(&mm->page_table_lock); > ret = hugetlb_fault(mm, vma, vaddr, 0); > spin_lock(&mm->page_table_lock); > - if (!(ret & VM_FAULT_MAJOR)) > + if (!(ret & VM_FAULT_ERROR)) > continue; > > remainder = 0; > > -- > Adam Litke - (agl at us.ibm.com) > IBM Linux Technology Center - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/