Lines Matching refs:pm
1022 struct pagemapread *pm) in add_to_pagemap() argument
1024 pm->buffer[pm->pos++] = *pme; in add_to_pagemap()
1025 if (pm->pos >= pm->len) in add_to_pagemap()
1033 struct pagemapread *pm = walk->private; in pagemap_pte_hole() local
1049 err = add_to_pagemap(addr, &pme, pm); in pagemap_pte_hole()
1061 err = add_to_pagemap(addr, &pme, pm); in pagemap_pte_hole()
1070 static pagemap_entry_t pte_to_pagemap_entry(struct pagemapread *pm, in pte_to_pagemap_entry() argument
1077 if (pm->show_pfn) in pte_to_pagemap_entry()
1109 struct pagemapread *pm = walk->private; in pagemap_pmd_range() local
1135 if (pm->show_pfn) in pagemap_pmd_range()
1143 err = add_to_pagemap(addr, &pme, pm); in pagemap_pmd_range()
1146 if (pm->show_pfn && (flags & PM_PRESENT)) in pagemap_pmd_range()
1165 pme = pte_to_pagemap_entry(pm, vma, addr, *pte); in pagemap_pmd_range()
1166 err = add_to_pagemap(addr, &pme, pm); in pagemap_pmd_range()
1183 struct pagemapread *pm = walk->private; in pagemap_hugetlb_range() local
1203 if (pm->show_pfn) in pagemap_hugetlb_range()
1211 err = add_to_pagemap(addr, &pme, pm); in pagemap_hugetlb_range()
1214 if (pm->show_pfn && (flags & PM_PRESENT)) in pagemap_hugetlb_range()
1254 struct pagemapread pm; in pagemap_read() local
1275 pm.show_pfn = file_ns_capable(file, &init_user_ns, CAP_SYS_ADMIN); in pagemap_read()
1277 pm.len = (PAGEMAP_WALK_SIZE >> PAGE_SHIFT); in pagemap_read()
1278 pm.buffer = kmalloc(pm.len * PM_ENTRY_BYTES, GFP_TEMPORARY); in pagemap_read()
1280 if (!pm.buffer) in pagemap_read()
1289 pagemap_walk.private = ± in pagemap_read()
1311 pm.pos = 0; in pagemap_read()
1321 len = min(count, PM_ENTRY_BYTES * pm.pos); in pagemap_read()
1322 if (copy_to_user(buf, pm.buffer, len)) { in pagemap_read()
1335 kfree(pm.buffer); in pagemap_read()