• Home
  • Raw
  • Download

Lines Matching refs:pte

140 		pte_t *pte, unsigned int flags)  in follow_pfn_pte()  argument
147 pte_t entry = *pte; in follow_pfn_pte()
153 if (!pte_same(*pte, entry)) { in follow_pfn_pte()
154 set_pte_at(vma->vm_mm, address, pte, entry); in follow_pfn_pte()
155 update_mmu_cache(vma, address, pte); in follow_pfn_pte()
167 static inline bool can_follow_write_pte(pte_t pte, unsigned int flags) in can_follow_write_pte() argument
169 return pte_write(pte) || in can_follow_write_pte()
170 ((flags & FOLL_FORCE) && (flags & FOLL_COW) && pte_dirty(pte)); in can_follow_write_pte()
180 pte_t *ptep, pte; in follow_page_pte() local
187 pte = *ptep; in follow_page_pte()
188 if (!pte_present(pte)) { in follow_page_pte()
197 if (pte_none(pte)) in follow_page_pte()
199 entry = pte_to_swp_entry(pte); in follow_page_pte()
206 if ((flags & FOLL_NUMA) && pte_protnone(pte)) in follow_page_pte()
208 if ((flags & FOLL_WRITE) && !can_follow_write_pte(pte, flags)) { in follow_page_pte()
213 page = vm_normal_page(vma, address, pte); in follow_page_pte()
214 if (!page && pte_devmap(pte) && (flags & FOLL_GET)) { in follow_page_pte()
219 *pgmap = get_dev_pagemap(pte_pfn(pte), *pgmap); in follow_page_pte()
221 page = pte_page(pte); in follow_page_pte()
231 if (is_zero_pfn(pte_pfn(pte))) { in follow_page_pte()
232 page = pte_page(pte); in follow_page_pte()
263 !pte_dirty(pte) && !PageDirty(page)) in follow_page_pte()
303 if (!pte_none(pte)) in follow_page_pte()
568 pte_t *pte; in get_gate_page() local
590 pte = pte_offset_map(pmd, address); in get_gate_page()
591 if (pte_none(*pte)) in get_gate_page()
596 *page = vm_normal_page(*vma, address, *pte); in get_gate_page()
598 if ((gup_flags & FOLL_DUMP) || !is_zero_pfn(pte_pfn(*pte))) in get_gate_page()
600 *page = pte_page(*pte); in get_gate_page()
609 pte_unmap(pte); in get_gate_page()
1764 pte_t pte; in gup_get_pte() local
1767 pte.pte_low = ptep->pte_low; in gup_get_pte()
1769 pte.pte_high = ptep->pte_high; in gup_get_pte()
1771 } while (unlikely(pte.pte_low != ptep->pte_low)); in gup_get_pte()
1773 return pte; in gup_get_pte()
1820 pte_t pte = gup_get_pte(ptep); in gup_pte_range() local
1827 if (pte_protnone(pte)) in gup_pte_range()
1830 if (!pte_access_permitted(pte, flags & FOLL_WRITE)) in gup_pte_range()
1833 if (pte_devmap(pte)) { in gup_pte_range()
1837 pgmap = get_dev_pagemap(pte_pfn(pte), pgmap); in gup_pte_range()
1842 } else if (pte_special(pte)) in gup_pte_range()
1845 VM_BUG_ON(!pfn_valid(pte_pfn(pte))); in gup_pte_range()
1846 page = pte_page(pte); in gup_pte_range()
1852 if (unlikely(pte_val(pte) != pte_val(*ptep))) { in gup_pte_range()
1981 pte_t pte; in gup_hugepte() local
1988 pte = READ_ONCE(*ptep); in gup_hugepte()
1990 if (!pte_access_permitted(pte, flags & FOLL_WRITE)) in gup_hugepte()
1994 VM_BUG_ON(!pfn_valid(pte_pfn(pte))); in gup_hugepte()
1997 head = pte_page(pte); in gup_hugepte()
2014 if (unlikely(pte_val(pte) != pte_val(*ptep))) { in gup_hugepte()