Lines Matching refs:pm
1792 static int add_to_pagemap(pagemap_entry_t *pme, struct pagemapread *pm) in add_to_pagemap() argument
1794 pm->buffer[pm->pos++] = *pme; in add_to_pagemap()
1795 if (pm->pos >= pm->len) in add_to_pagemap()
1810 struct pagemapread *pm = walk->private; in pagemap_pte_hole() local
1826 err = add_to_pagemap(&pme, pm); in pagemap_pte_hole()
1838 err = add_to_pagemap(&pme, pm); in pagemap_pte_hole()
1847 static pagemap_entry_t pte_to_pagemap_entry(struct pagemapread *pm, in pte_to_pagemap_entry() argument
1855 if (pm->show_pfn) in pte_to_pagemap_entry()
1870 if (pm->show_pfn) { in pte_to_pagemap_entry()
1910 struct pagemapread *pm = walk->private; in pagemap_pmd_range() local
1935 if (pm->show_pfn) in pagemap_pmd_range()
1943 if (pm->show_pfn) { in pagemap_pmd_range()
1976 err = add_to_pagemap(&pme, pm); in pagemap_pmd_range()
1979 if (pm->show_pfn) { in pagemap_pmd_range()
2003 pme = pte_to_pagemap_entry(pm, vma, addr, ptep_get(pte)); in pagemap_pmd_range()
2004 err = add_to_pagemap(&pme, pm); in pagemap_pmd_range()
2021 struct pagemapread *pm = walk->private; in pagemap_hugetlb_range() local
2047 if (pm->show_pfn) in pagemap_hugetlb_range()
2057 err = add_to_pagemap(&pme, pm); in pagemap_hugetlb_range()
2060 if (pm->show_pfn && (flags & PM_PRESENT)) in pagemap_hugetlb_range()
2112 struct pagemapread pm; in pagemap_read() local
2132 pm.show_pfn = file_ns_capable(file, &init_user_ns, CAP_SYS_ADMIN); in pagemap_read()
2134 pm.len = (PAGEMAP_WALK_SIZE >> PAGE_SHIFT); in pagemap_read()
2135 pm.buffer = kmalloc_array(pm.len, PM_ENTRY_BYTES, GFP_KERNEL); in pagemap_read()
2137 if (!pm.buffer) in pagemap_read()
2169 pm.pos = 0; in pagemap_read()
2177 ret = walk_page_range(mm, start_vaddr, end, &pagemap_ops, &pm); in pagemap_read()
2181 len = min(count, PM_ENTRY_BYTES * pm.pos); in pagemap_read()
2182 if (copy_to_user(buf, pm.buffer, len)) { in pagemap_read()
2195 kfree(pm.buffer); in pagemap_read()