Lines Matching refs:vm_flags

112 pgprot_t vm_get_page_prot(unsigned long vm_flags)  in vm_get_page_prot()  argument
114 pgprot_t ret = __pgprot(pgprot_val(protection_map[vm_flags & in vm_get_page_prot()
116 pgprot_val(arch_vm_get_page_prot(vm_flags))); in vm_get_page_prot()
122 static pgprot_t vm_pgprot_modify(pgprot_t oldprot, unsigned long vm_flags) in vm_pgprot_modify() argument
124 return pgprot_modify(oldprot, vm_get_page_prot(vm_flags)); in vm_pgprot_modify()
130 unsigned long vm_flags = vma->vm_flags; in vma_set_page_prot() local
133 vm_page_prot = vm_pgprot_modify(vma->vm_page_prot, vm_flags); in vma_set_page_prot()
135 vm_flags &= ~VM_SHARED; in vma_set_page_prot()
136 vm_page_prot = vm_pgprot_modify(vm_page_prot, vm_flags); in vma_set_page_prot()
148 if (vma->vm_flags & VM_DENYWRITE) in __remove_shared_vm_struct()
150 if (vma->vm_flags & VM_SHARED) in __remove_shared_vm_struct()
628 if (vma->vm_flags & VM_DENYWRITE) in __vma_link_file()
630 if (vma->vm_flags & VM_SHARED) in __vma_link_file()
1019 struct file *file, unsigned long vm_flags, in is_mergeable_vma() argument
1030 if ((vma->vm_flags ^ vm_flags) & ~VM_SOFTDIRTY) in is_mergeable_vma()
1067 can_vma_merge_before(struct vm_area_struct *vma, unsigned long vm_flags, in can_vma_merge_before() argument
1072 if (is_mergeable_vma(vma, file, vm_flags, vm_userfaultfd_ctx) && in can_vma_merge_before()
1088 can_vma_merge_after(struct vm_area_struct *vma, unsigned long vm_flags, in can_vma_merge_after() argument
1093 if (is_mergeable_vma(vma, file, vm_flags, vm_userfaultfd_ctx) && in can_vma_merge_after()
1145 unsigned long end, unsigned long vm_flags, in vma_merge() argument
1158 if (vm_flags & VM_SPECIAL) in vma_merge()
1179 can_vma_merge_after(prev, vm_flags, in vma_merge()
1187 can_vma_merge_before(next, vm_flags, in vma_merge()
1202 khugepaged_enter_vma_merge(prev, vm_flags); in vma_merge()
1211 can_vma_merge_before(next, vm_flags, in vma_merge()
1229 khugepaged_enter_vma_merge(area, vm_flags); in vma_merge()
1254 !((a->vm_flags ^ b->vm_flags) & ~(VM_READ|VM_WRITE|VM_EXEC|VM_SOFTDIRTY)) && in anon_vma_compatible()
1399 unsigned long flags, vm_flags_t vm_flags, in do_mmap() argument
1465 vm_flags |= calc_vm_prot_bits(prot, pkey) | calc_vm_flag_bits(flags) | in do_mmap()
1472 if (mlock_future_check(mm, vm_flags, len)) in do_mmap()
1518 vm_flags |= VM_SHARED | VM_MAYSHARE; in do_mmap()
1520 vm_flags &= ~(VM_MAYWRITE | VM_SHARED); in do_mmap()
1527 if (vm_flags & VM_EXEC) in do_mmap()
1529 vm_flags &= ~VM_MAYEXEC; in do_mmap()
1534 if (vm_flags & (VM_GROWSDOWN|VM_GROWSUP)) in do_mmap()
1544 if (vm_flags & (VM_GROWSDOWN|VM_GROWSUP)) in do_mmap()
1550 vm_flags |= VM_SHARED | VM_MAYSHARE; in do_mmap()
1570 vm_flags |= VM_NORESERVE; in do_mmap()
1574 vm_flags |= VM_NORESERVE; in do_mmap()
1577 addr = mmap_region(file, addr, len, vm_flags, pgoff, uf); in do_mmap()
1579 ((vm_flags & VM_LOCKED) || in do_mmap()
1675 vm_flags_t vm_flags = vma->vm_flags; in vma_wants_writenotify() local
1679 if ((vm_flags & (VM_WRITE|VM_SHARED)) != ((VM_WRITE|VM_SHARED))) in vma_wants_writenotify()
1689 pgprot_val(vm_pgprot_modify(vm_page_prot, vm_flags))) in vma_wants_writenotify()
1693 if (IS_ENABLED(CONFIG_MEM_SOFT_DIRTY) && !(vm_flags & VM_SOFTDIRTY)) in vma_wants_writenotify()
1697 if (vm_flags & VM_PFNMAP) in vma_wants_writenotify()
1709 static inline int accountable_mapping(struct file *file, vm_flags_t vm_flags) in accountable_mapping() argument
1718 return (vm_flags & (VM_NORESERVE | VM_SHARED | VM_WRITE)) == VM_WRITE; in accountable_mapping()
1722 unsigned long len, vm_flags_t vm_flags, unsigned long pgoff, in mmap_region() argument
1732 if (!may_expand_vm(mm, vm_flags, len >> PAGE_SHIFT)) { in mmap_region()
1741 if (!may_expand_vm(mm, vm_flags, in mmap_region()
1756 if (accountable_mapping(file, vm_flags)) { in mmap_region()
1760 vm_flags |= VM_ACCOUNT; in mmap_region()
1766 vma = vma_merge(mm, prev, addr, addr + len, vm_flags, in mmap_region()
1784 vma->vm_flags = vm_flags; in mmap_region()
1785 vma->vm_page_prot = vm_get_page_prot(vm_flags); in mmap_region()
1789 if (vm_flags & VM_DENYWRITE) { in mmap_region()
1794 if (vm_flags & VM_SHARED) { in mmap_region()
1820 vm_flags = vma->vm_flags; in mmap_region()
1821 } else if (vm_flags & VM_SHARED) { in mmap_region()
1832 if (vm_flags & VM_SHARED) in mmap_region()
1834 if (vm_flags & VM_DENYWRITE) in mmap_region()
1841 vm_stat_account(mm, vm_flags, len >> PAGE_SHIFT); in mmap_region()
1842 if (vm_flags & VM_LOCKED) { in mmap_region()
1843 if ((vm_flags & VM_SPECIAL) || vma_is_dax(vma) || in mmap_region()
1846 vma->vm_flags &= VM_LOCKED_CLEAR_MASK; in mmap_region()
1861 vma->vm_flags |= VM_SOFTDIRTY; in mmap_region()
1874 if (vm_flags & VM_SHARED) in mmap_region()
1877 if (vm_flags & VM_DENYWRITE) in mmap_region()
2310 if (!may_expand_vm(mm, vma->vm_flags, grow)) in acct_stack_growth()
2318 if (vma->vm_flags & VM_LOCKED) { in acct_stack_growth()
2329 new_start = (vma->vm_flags & VM_GROWSUP) ? vma->vm_start : in acct_stack_growth()
2356 if (!(vma->vm_flags & VM_GROWSUP)) in expand_upwards()
2374 (next->vm_flags & (VM_WRITE|VM_READ|VM_EXEC))) { in expand_upwards()
2375 if (!(next->vm_flags & VM_GROWSUP)) in expand_upwards()
2414 if (vma->vm_flags & VM_LOCKED) in expand_upwards()
2416 vm_stat_account(mm, vma->vm_flags, grow); in expand_upwards()
2431 khugepaged_enter_vma_merge(vma, vma->vm_flags); in expand_upwards()
2454 if (prev && !(prev->vm_flags & VM_GROWSDOWN) && in expand_downwards()
2455 (prev->vm_flags & (VM_WRITE|VM_READ|VM_EXEC))) { in expand_downwards()
2494 if (vma->vm_flags & VM_LOCKED) in expand_downwards()
2496 vm_stat_account(mm, vma->vm_flags, grow); in expand_downwards()
2509 khugepaged_enter_vma_merge(vma, vma->vm_flags); in expand_downwards()
2548 if (prev->vm_flags & VM_LOCKED) in find_extend_vma()
2570 if (!(vma->vm_flags & VM_GROWSDOWN)) in find_extend_vma()
2578 if (vma->vm_flags & VM_LOCKED) in find_extend_vma()
2601 if (vma->vm_flags & VM_ACCOUNT) in remove_vma_list()
2603 vm_stat_account(mm, vma->vm_flags, -nrpages); in remove_vma_list()
2830 if (tmp->vm_flags & VM_LOCKED) { in __do_munmap()
2931 if (!vma || !(vma->vm_flags & VM_SHARED)) in SYSCALL_DEFINE5()
2948 if (next->vm_flags != vma->vm_flags) in SYSCALL_DEFINE5()
2959 prot |= vma->vm_flags & VM_READ ? PROT_READ : 0; in SYSCALL_DEFINE5()
2960 prot |= vma->vm_flags & VM_WRITE ? PROT_WRITE : 0; in SYSCALL_DEFINE5()
2961 prot |= vma->vm_flags & VM_EXEC ? PROT_EXEC : 0; in SYSCALL_DEFINE5()
2965 if (vma->vm_flags & VM_LOCKED) { in SYSCALL_DEFINE5()
3061 vma->vm_flags = flags; in do_brk_flags()
3070 vma->vm_flags |= VM_SOFTDIRTY; in do_brk_flags()
3144 if (vma->vm_flags & VM_LOCKED) in exit_mmap()
3170 if (vma->vm_flags & VM_ACCOUNT) in exit_mmap()
3189 if ((vma->vm_flags & VM_ACCOUNT) && in insert_vm_struct()
3240 new_vma = vma_merge(mm, prev, addr, addr + len, vma->vm_flags, in copy_vma()
3406 unsigned long vm_flags, void *priv, in __install_special_mapping() argument
3419 vma->vm_flags = vm_flags | mm->def_flags | VM_DONTEXPAND | VM_SOFTDIRTY; in __install_special_mapping()
3420 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); in __install_special_mapping()
3429 vm_stat_account(mm, vma->vm_flags, len >> PAGE_SHIFT); in __install_special_mapping()
3460 unsigned long vm_flags, const struct vm_special_mapping *spec) in _install_special_mapping() argument
3462 return __install_special_mapping(mm, addr, len, vm_flags, (void *)spec, in _install_special_mapping()
3468 unsigned long vm_flags, struct page **pages) in install_special_mapping() argument
3471 mm, addr, len, vm_flags, (void *)pages, in install_special_mapping()