X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=mm%2Frmap.c;h=6280da86b5d6761ed8a245c3fadb6e42015216c5;hb=ee5df0570c8af2610b28ab79bd8f8f8195687773;hp=807c96bf0dc6d08cdc167ce432a68999b1e21692;hpb=ea882c2ece7c68462a3734c71c60e2572e528fe7;p=deliverable%2Flinux.git diff --git a/mm/rmap.c b/mm/rmap.c index 807c96bf0dc6..6280da86b5d6 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -1513,6 +1513,9 @@ static int try_to_unmap_file(struct page *page, enum ttu_flags flags) unsigned long max_nl_size = 0; unsigned int mapcount; + if (PageHuge(page)) + pgoff = page->index << compound_order(page); + mutex_lock(&mapping->i_mmap_mutex); vma_interval_tree_foreach(vma, &mapping->i_mmap, pgoff, pgoff) { unsigned long address = vma_address(page, vma);