|
@@ -134,7 +134,7 @@ static void subpage_prot_clear(unsigned long addr, unsigned long len)
|
|
|
static int subpage_walk_pmd_entry(pmd_t *pmd, unsigned long addr,
|
|
|
unsigned long end, struct mm_walk *walk)
|
|
|
{
|
|
|
- struct vm_area_struct *vma = walk->private;
|
|
|
+ struct vm_area_struct *vma = walk->vma;
|
|
|
split_huge_page_pmd(vma, addr, pmd);
|
|
|
return 0;
|
|
|
}
|
|
@@ -163,9 +163,7 @@ static void subpage_mark_vma_nohuge(struct mm_struct *mm, unsigned long addr,
|
|
|
if (vma->vm_start >= (addr + len))
|
|
|
break;
|
|
|
vma->vm_flags |= VM_NOHUGEPAGE;
|
|
|
- subpage_proto_walk.private = vma;
|
|
|
- walk_page_range(vma->vm_start, vma->vm_end,
|
|
|
- &subpage_proto_walk);
|
|
|
+ walk_page_vma(vma, &subpage_proto_walk);
|
|
|
vma = vma->vm_next;
|
|
|
}
|
|
|
}
|