|
@@ -163,7 +163,7 @@ static inline unsigned long change_pmd_range(struct vm_area_struct *vma,
|
|
if (pmd_trans_huge(*pmd) || pmd_devmap(*pmd)) {
|
|
if (pmd_trans_huge(*pmd) || pmd_devmap(*pmd)) {
|
|
if (next - addr != HPAGE_PMD_SIZE) {
|
|
if (next - addr != HPAGE_PMD_SIZE) {
|
|
split_huge_pmd(vma, pmd, addr);
|
|
split_huge_pmd(vma, pmd, addr);
|
|
- if (pmd_none(*pmd))
|
|
|
|
|
|
+ if (pmd_trans_unstable(pmd))
|
|
continue;
|
|
continue;
|
|
} else {
|
|
} else {
|
|
int nr_ptes = change_huge_pmd(vma, pmd, addr,
|
|
int nr_ptes = change_huge_pmd(vma, pmd, addr,
|