> On Jun 21, 2019, at 5:44 AM, Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> wrote: > > On Thu, Jun 13, 2019 at 10:57:45AM -0700, Song Liu wrote: >> @@ -419,6 +419,11 @@ static struct page *follow_pmd_mask(struct vm_area_struct *vma, >> put_page(page); >> if (pmd_none(*pmd)) >> return no_page_table(vma, flags); >> + } else { /* flags & FOLL_SPLIT_PMD */ >> + spin_unlock(ptl); >> + ret = 0; >> + split_huge_pmd(vma, pmd, address); >> + pte_alloc(mm, pmd); > > pte_alloc() can fail and the failure should be propogated to the caller. Good catch! Fixing it now. Thanks, Song