On Fri, Apr 15, 2011 at 11:12:48AM +0100, Mel Gorman wrote: > diff --git a/mm/memory.c b/mm/memory.c > index 5823698..1659574 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -3322,7 +3322,7 @@ int handle_mm_fault(struct mm_struct *mm, struct > vm_area_struct *vma, > * run pte_offset_map on the pmd, if an huge pmd could > * materialize from under us from a different thread. > */ > - if (unlikely(__pte_alloc(mm, vma, pmd, address))) > + if (unlikely(pmd_none(*pmd)) && __pte_alloc(mm, vma, pmd, address)) > return VM_FAULT_OOM; > /* if an huge pmd materialized from under us just retry later */ > if (unlikely(pmd_trans_huge(*pmd)))
Reviewed-by: Andrea Arcangeli <[email protected]> _______________________________________________ stable mailing list [email protected] http://linux.kernel.org/mailman/listinfo/stable
