mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
mm: thp: check pmd_trans_unstable() after split_huge_pmd()
split_huge_pmd() doesn't guarantee that the pmd is normal pmd pointing to pte entries, which can be checked with pmd_trans_unstable(). Some callers make this assertion and some do it differently and some not, so let's do it in a unified manner. Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Naoya Horiguchi <[email protected]> Cc: "Kirill A. Shutemov" <[email protected]> Cc: Hugh Dickins <[email protected]> Cc: Mel Gorman <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
e3a2713c3c
commit
337d9abf1c
4 changed files with 6 additions and 3 deletions
|
|
@ -210,9 +210,8 @@ unsigned long move_page_tables(struct vm_area_struct *vma,
|
|||
}
|
||||
}
|
||||
split_huge_pmd(vma, old_pmd, old_addr);
|
||||
if (pmd_none(*old_pmd))
|
||||
if (pmd_trans_unstable(old_pmd))
|
||||
continue;
|
||||
VM_BUG_ON(pmd_trans_huge(*old_pmd));
|
||||
}
|
||||
if (pte_alloc(new_vma->vm_mm, new_pmd, new_addr))
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in a new issue