diff --git a/mm/madvise.c b/mm/madvise.c index 1acfdcd8ea44657875003c40cf4b077729897b4c..455cbe7e17a3159bc8b07ed81111f4c849921fc5 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -1042,6 +1042,7 @@ static int madvise_vma_behavior(struct vm_area_struct *vma, int error; struct anon_vma_name *anon_name; unsigned long new_flags = vma->vm_flags; + struct mm_struct *mm = vma->vm_mm; async_fork_fixup_vma(vma); @@ -1123,7 +1124,7 @@ static int madvise_vma_behavior(struct vm_area_struct *vma, * may not happen any time soon. */ if (!error && new_flags & VM_HUGEPAGE) - khugepaged_enter_mm(vma->vm_mm); + khugepaged_enter_mm(mm); out: /* * madvise() returns EAGAIN if kernel resources, such as