The patch titled Subject: hugetlb: do not use vma_hugecache_offset() for vma_prio_tree_foreach has been added to the -mm tree. Its filename is hugetlb-do-not-use-vma_hugecache_offset-for-vma_prio_tree_foreach.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Michal Hocko <mhocko@xxxxxxx> Subject: hugetlb: do not use vma_hugecache_offset() for vma_prio_tree_foreach 0c176d5 ("mm: hugetlb: fix pgoff computation when unmapping page from vma") fixed pgoff calculation but it has replaced it by vma_hugecache_offset() which is not approapriate for offsets used for vma_prio_tree_foreach() because that one expects index in page units rather than in huge_page_shift. Using vma_hugecache_offset() is not incorrect because the pgoff will fit into the same vmas but it is confusing so the standard PAGE_SHIFT based index calculation is used instead. Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Acked-by: Hillf Danton <dhillf@xxxxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/hugetlb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff -puN mm/hugetlb.c~hugetlb-do-not-use-vma_hugecache_offset-for-vma_prio_tree_foreach mm/hugetlb.c --- a/mm/hugetlb.c~hugetlb-do-not-use-vma_hugecache_offset-for-vma_prio_tree_foreach +++ a/mm/hugetlb.c @@ -2480,7 +2480,8 @@ static int unmap_ref_private(struct mm_s * from page cache lookup which is in HPAGE_SIZE units. */ address = address & huge_page_mask(h); - pgoff = vma_hugecache_offset(h, vma, address); + pgoff = ((address - vma->vm_start) >> PAGE_SHIFT) + + vma->vm_pgoff; mapping = vma->vm_file->f_dentry->d_inode->i_mapping; /* _ Patches currently in -mm which might be from mhocko@xxxxxxx are origin.patch linux-next.patch mm-hugetlb-add-arch-hook-for-clearing-page-flags-before-entering-pool.patch mm-memblock-reduce-overhead-in-binary-search.patch mm-memblock-use-existing-interface-to-set-nid.patch mm-memblock-cleanup-early_node_map-related-comments.patch mm-thp-fix-the-pmd_clear-arguments-in-pmdp_get_and_clear.patch mm-thp-fix-the-update_mmu_cache-last-argument-passing-in-mm-huge_memoryc.patch memcg-trivial-fixes-for-documentation-cgroups-memorytxt.patch memcg-cleanup-kmem-tcp-ifdefs.patch memcg-move-mem_cgroup_is_root-upwards.patch hugetlb-do-not-use-vma_hugecache_offset-for-vma_prio_tree_foreach.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html