aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
Diffstat (limited to 'mm')
-rw-r--r--mm/huge_memory.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/mm/huge_memory.c b/mm/huge_memory.c
index bec6243b696..010d32944d1 100644
--- a/mm/huge_memory.c
+++ b/mm/huge_memory.c
@@ -1450,6 +1450,8 @@ out:
1450int hugepage_madvise(struct vm_area_struct *vma, 1450int hugepage_madvise(struct vm_area_struct *vma,
1451 unsigned long *vm_flags, int advice) 1451 unsigned long *vm_flags, int advice)
1452{ 1452{
1453 struct mm_struct *mm = vma->vm_mm;
1454
1453 switch (advice) { 1455 switch (advice) {
1454 case MADV_HUGEPAGE: 1456 case MADV_HUGEPAGE:
1455 /* 1457 /*
@@ -1457,6 +1459,8 @@ int hugepage_madvise(struct vm_area_struct *vma,
1457 */ 1459 */
1458 if (*vm_flags & (VM_HUGEPAGE | VM_NO_THP)) 1460 if (*vm_flags & (VM_HUGEPAGE | VM_NO_THP))
1459 return -EINVAL; 1461 return -EINVAL;
1462 if (mm->def_flags & VM_NOHUGEPAGE)
1463 return -EINVAL;
1460 *vm_flags &= ~VM_NOHUGEPAGE; 1464 *vm_flags &= ~VM_NOHUGEPAGE;
1461 *vm_flags |= VM_HUGEPAGE; 1465 *vm_flags |= VM_HUGEPAGE;
1462 /* 1466 /*