Lines Matching refs:vm_flags
84 pgprot_t vm_get_page_prot(unsigned long vm_flags) in vm_get_page_prot() argument
86 return __pgprot(pgprot_val(protection_map[vm_flags & in vm_get_page_prot()
88 pgprot_val(arch_vm_get_page_prot(vm_flags))); in vm_get_page_prot()
92 static pgprot_t vm_pgprot_modify(pgprot_t oldprot, unsigned long vm_flags) in vm_pgprot_modify() argument
94 return pgprot_modify(oldprot, vm_get_page_prot(vm_flags)); in vm_pgprot_modify()
100 unsigned long vm_flags = vma->vm_flags; in vma_set_page_prot() local
102 vma->vm_page_prot = vm_pgprot_modify(vma->vm_page_prot, vm_flags); in vma_set_page_prot()
104 vm_flags &= ~VM_SHARED; in vma_set_page_prot()
106 vm_flags); in vma_set_page_prot()
240 if (vma->vm_flags & VM_DENYWRITE) in __remove_shared_vm_struct()
242 if (vma->vm_flags & VM_SHARED) in __remove_shared_vm_struct()
647 if (vma->vm_flags & VM_DENYWRITE) in __vma_link_file()
649 if (vma->vm_flags & VM_SHARED) in __vma_link_file()
926 struct file *file, unsigned long vm_flags) in is_mergeable_vma() argument
936 if ((vma->vm_flags ^ vm_flags) & ~VM_SOFTDIRTY) in is_mergeable_vma()
971 can_vma_merge_before(struct vm_area_struct *vma, unsigned long vm_flags, in can_vma_merge_before() argument
974 if (is_mergeable_vma(vma, file, vm_flags) && in can_vma_merge_before()
990 can_vma_merge_after(struct vm_area_struct *vma, unsigned long vm_flags, in can_vma_merge_after() argument
993 if (is_mergeable_vma(vma, file, vm_flags) && in can_vma_merge_after()
1034 unsigned long end, unsigned long vm_flags, in vma_merge() argument
1046 if (vm_flags & VM_SPECIAL) in vma_merge()
1062 can_vma_merge_after(prev, vm_flags, in vma_merge()
1069 can_vma_merge_before(next, vm_flags, in vma_merge()
1081 khugepaged_enter_vma_merge(prev, vm_flags); in vma_merge()
1090 can_vma_merge_before(next, vm_flags, in vma_merge()
1100 khugepaged_enter_vma_merge(area, vm_flags); in vma_merge()
1125 !((a->vm_flags ^ b->vm_flags) & ~(VM_READ|VM_WRITE|VM_EXEC|VM_SOFTDIRTY)) && in anon_vma_compatible()
1261 vm_flags_t vm_flags; in do_mmap_pgoff() local
1305 vm_flags = calc_vm_prot_bits(prot) | calc_vm_flag_bits(flags) | in do_mmap_pgoff()
1312 if (mlock_future_check(mm, vm_flags, len)) in do_mmap_pgoff()
1336 vm_flags |= VM_SHARED | VM_MAYSHARE; in do_mmap_pgoff()
1338 vm_flags &= ~(VM_MAYWRITE | VM_SHARED); in do_mmap_pgoff()
1345 if (vm_flags & VM_EXEC) in do_mmap_pgoff()
1347 vm_flags &= ~VM_MAYEXEC; in do_mmap_pgoff()
1352 if (vm_flags & (VM_GROWSDOWN|VM_GROWSUP)) in do_mmap_pgoff()
1362 if (vm_flags & (VM_GROWSDOWN|VM_GROWSUP)) in do_mmap_pgoff()
1368 vm_flags |= VM_SHARED | VM_MAYSHARE; in do_mmap_pgoff()
1388 vm_flags |= VM_NORESERVE; in do_mmap_pgoff()
1392 vm_flags |= VM_NORESERVE; in do_mmap_pgoff()
1395 addr = mmap_region(file, addr, len, vm_flags, pgoff); in do_mmap_pgoff()
1397 ((vm_flags & VM_LOCKED) || in do_mmap_pgoff()
1485 vm_flags_t vm_flags = vma->vm_flags; in vma_wants_writenotify() local
1488 if ((vm_flags & (VM_WRITE|VM_SHARED)) != ((VM_WRITE|VM_SHARED))) in vma_wants_writenotify()
1498 pgprot_val(vm_pgprot_modify(vma->vm_page_prot, vm_flags))) in vma_wants_writenotify()
1502 if (IS_ENABLED(CONFIG_MEM_SOFT_DIRTY) && !(vm_flags & VM_SOFTDIRTY)) in vma_wants_writenotify()
1506 if (vm_flags & VM_PFNMAP) in vma_wants_writenotify()
1518 static inline int accountable_mapping(struct file *file, vm_flags_t vm_flags) in accountable_mapping() argument
1527 return (vm_flags & (VM_NORESERVE | VM_SHARED | VM_WRITE)) == VM_WRITE; in accountable_mapping()
1531 unsigned long len, vm_flags_t vm_flags, unsigned long pgoff) in mmap_region() argument
1547 if (!(vm_flags & MAP_FIXED)) in mmap_region()
1567 if (accountable_mapping(file, vm_flags)) { in mmap_region()
1571 vm_flags |= VM_ACCOUNT; in mmap_region()
1577 vma = vma_merge(mm, prev, addr, addr + len, vm_flags, NULL, file, pgoff, in mmap_region()
1596 vma->vm_flags = vm_flags; in mmap_region()
1597 vma->vm_page_prot = vm_get_page_prot(vm_flags); in mmap_region()
1602 if (vm_flags & VM_DENYWRITE) { in mmap_region()
1607 if (vm_flags & VM_SHARED) { in mmap_region()
1633 vm_flags = vma->vm_flags; in mmap_region()
1634 } else if (vm_flags & VM_SHARED) { in mmap_region()
1643 if (vm_flags & VM_SHARED) in mmap_region()
1645 if (vm_flags & VM_DENYWRITE) in mmap_region()
1652 vm_stat_account(mm, vm_flags, file, len >> PAGE_SHIFT); in mmap_region()
1653 if (vm_flags & VM_LOCKED) { in mmap_region()
1654 if (!((vm_flags & VM_SPECIAL) || is_vm_hugetlb_page(vma) || in mmap_region()
1658 vma->vm_flags &= ~VM_LOCKED; in mmap_region()
1671 vma->vm_flags |= VM_SOFTDIRTY; in mmap_region()
1684 if (vm_flags & VM_SHARED) in mmap_region()
1687 if (vm_flags & VM_DENYWRITE) in mmap_region()
2105 if (size && (vma->vm_flags & (VM_GROWSUP | VM_GROWSDOWN))) in acct_stack_growth()
2111 if (vma->vm_flags & VM_LOCKED) { in acct_stack_growth()
2122 new_start = (vma->vm_flags & VM_GROWSUP) ? vma->vm_start : in acct_stack_growth()
2135 if (vma->vm_flags & VM_LOCKED) in acct_stack_growth()
2137 vm_stat_account(mm, vma->vm_flags, vma->vm_file, grow); in acct_stack_growth()
2150 if (!(vma->vm_flags & VM_GROWSUP)) in expand_upwards()
2207 khugepaged_enter_vma_merge(vma, vma->vm_flags); in expand_upwards()
2272 khugepaged_enter_vma_merge(vma, vma->vm_flags); in expand_downwards()
2296 if (!(next->vm_flags & VM_GROWSUP)) in expand_stack()
2313 if (prev->vm_flags & VM_LOCKED) in find_extend_vma()
2325 if (!(prev->vm_flags & VM_GROWSDOWN)) in expand_stack()
2343 if (!(vma->vm_flags & VM_GROWSDOWN)) in find_extend_vma()
2348 if (vma->vm_flags & VM_LOCKED) in find_extend_vma()
2371 if (vma->vm_flags & VM_ACCOUNT) in remove_vma_list()
2373 vm_stat_account(mm, vma->vm_flags, vma->vm_file, -nrpages); in remove_vma_list()
2581 if (tmp->vm_flags & VM_LOCKED) { in do_munmap()
2654 if (!vma || !(vma->vm_flags & VM_SHARED)) in SYSCALL_DEFINE5()
2671 if (next->vm_flags != vma->vm_flags) in SYSCALL_DEFINE5()
2682 prot |= vma->vm_flags & VM_READ ? PROT_READ : 0; in SYSCALL_DEFINE5()
2683 prot |= vma->vm_flags & VM_WRITE ? PROT_WRITE : 0; in SYSCALL_DEFINE5()
2684 prot |= vma->vm_flags & VM_EXEC ? PROT_EXEC : 0; in SYSCALL_DEFINE5()
2688 if (vma->vm_flags & VM_LOCKED) { in SYSCALL_DEFINE5()
2797 vma->vm_flags = flags; in do_brk()
2805 vma->vm_flags |= VM_SOFTDIRTY; in do_brk()
2838 if (vma->vm_flags & VM_LOCKED) in exit_mmap()
2865 if (vma->vm_flags & VM_ACCOUNT) in exit_mmap()
2900 if ((vma->vm_flags & VM_ACCOUNT) && in insert_vm_struct()
2934 new_vma = vma_merge(mm, prev, addr, addr + len, vma->vm_flags, in copy_vma()
3065 unsigned long vm_flags, const struct vm_operations_struct *ops, in __install_special_mapping() argument
3080 vma->vm_flags = vm_flags | mm->def_flags | VM_DONTEXPAND | VM_SOFTDIRTY; in __install_special_mapping()
3081 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); in __install_special_mapping()
3113 unsigned long vm_flags, const struct vm_special_mapping *spec) in _install_special_mapping() argument
3115 return __install_special_mapping(mm, addr, len, vm_flags, in _install_special_mapping()
3121 unsigned long vm_flags, struct page **pages) in install_special_mapping() argument
3124 mm, addr, len, vm_flags, &legacy_special_mapping_vmops, in install_special_mapping()