The patch titled Subject: mm/hugetlb: i_mmap_lock_write before unmapping in remove_inode_hugepages has been added to the -mm tree. Its filename is mm-hugetlb-unmap-pages-to-remove-if-page-fault-raced-with-hole-punch-fix.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/mm-hugetlb-unmap-pages-to-remove-if-page-fault-raced-with-hole-punch-fix.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/mm-hugetlb-unmap-pages-to-remove-if-page-fault-raced-with-hole-punch-fix.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: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Subject: mm/hugetlb: i_mmap_lock_write before unmapping in remove_inode_hugepages Code was added to remove_inode_hugepages that will unmap a page if it is mapped. i_mmap_lock_write() must be taken during the call to hugetlb_vmdelete_list(). This is to prevent mappings(vmas) from being added or deleted while the list of vmas is being examined. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/hugetlbfs/inode.c | 2 ++ 1 file changed, 2 insertions(+) diff -puN fs/hugetlbfs/inode.c~mm-hugetlb-unmap-pages-to-remove-if-page-fault-raced-with-hole-punch-fix fs/hugetlbfs/inode.c --- a/fs/hugetlbfs/inode.c~mm-hugetlb-unmap-pages-to-remove-if-page-fault-raced-with-hole-punch-fix +++ a/fs/hugetlbfs/inode.c @@ -428,9 +428,11 @@ static void remove_inode_hugepages(struc * until we finish removing the page. */ if (page_mapped(page)) { + i_mmap_lock_write(mapping); hugetlb_vmdelete_list(&mapping->i_mmap, next * pages_per_huge_page(h), (next + 1) * pages_per_huge_page(h)); + i_mmap_unlock_write(mapping); } lock_page(page); _ Patches currently in -mm which might be from mike.kravetz@xxxxxxxxxx are mm-hugetlb-define-hugetlb_falloc-structure-for-hole-punch-race.patch mm-hugetlb-setup-hugetlb_falloc-during-fallocate-hole-punch.patch mm-hugetlb-page-faults-check-for-fallocate-hole-punch-in-progress-and-wait.patch mm-hugetlb-unmap-pages-to-remove-if-page-fault-raced-with-hole-punch.patch mm-hugetlb-unmap-pages-to-remove-if-page-fault-raced-with-hole-punch-fix.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