Hi Andrew, While Ross was doing a review of a new mmap+DAX direct-I/O test case for xfstests, from Xiong, he noticed occasions where it failed to trigger a page dirty event. Dave then spotted the problem fixed by patch1. The pte_devmap() check is precluding pte_allows_gup(), i.e. bypassing permission checks and dirty tracking. Patch2 is a cleanup and clarifies that pte_unmap() only needs to be done once per page-worth of ptes. It unifies the exit paths similar to the generic gup_pte_range() in the __HAVE_ARCH_PTE_SPECIAL case. I'm sending this through the -mm tree for a double-check from memory management folks. It has a build success notification from the kbuild robot. --- Dan Williams (2): x86, mm: fix gup_pte_range() vs DAX mappings x86, mm: unify exit paths in gup_pte_range() arch/x86/mm/gup.c | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>