Hi Dan, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.18-rc3] [cannot apply to next-20180704] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Dan-Williams/device-dax-Convert-to-vmf_insert_mixed-and-vm_fault_t/20180705-075150 config: x86_64-acpi-redef (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): In file included from fs/ext2/file.c:24:0: include/linux/dax.h: In function 'dax_lock_mapping_entry': >> include/linux/dax.h:128:15: error: 'page' redeclared as different kind of symbol struct page *page = pfn_to_page(pfn); ^~~~ include/linux/dax.h:126:56: note: previous definition of 'page' was here static inline bool dax_lock_mapping_entry(struct page *page) ^~~~ In file included from arch/x86/include/asm/page.h:76:0, from arch/x86/include/asm/thread_info.h:12, from include/linux/thread_info.h:38, from arch/x86/include/asm/preempt.h:7, from include/linux/preempt.h:81, from include/linux/spinlock.h:51, from include/linux/seqlock.h:36, from include/linux/time.h:6, from fs/ext2/file.c:22: >> include/linux/dax.h:128:34: error: 'pfn' undeclared (first use in this function); did you mean '__pfn'? struct page *page = pfn_to_page(pfn); ^ include/asm-generic/memory_model.h:69:27: note: in definition of macro '__pfn_to_page' ({ unsigned long __pfn = (pfn); \ ^~~ include/linux/dax.h:128:22: note: in expansion of macro 'pfn_to_page' struct page *page = pfn_to_page(pfn); ^~~~~~~~~~~ include/linux/dax.h:128:34: note: each undeclared identifier is reported only once for each function it appears in struct page *page = pfn_to_page(pfn); ^ include/asm-generic/memory_model.h:69:27: note: in definition of macro '__pfn_to_page' ({ unsigned long __pfn = (pfn); \ ^~~ include/linux/dax.h:128:22: note: in expansion of macro 'pfn_to_page' struct page *page = pfn_to_page(pfn); ^~~~~~~~~~~ In file included from fs/ext2/file.c:24:0: include/linux/dax.h: In function 'dax_lock_page': >> include/linux/dax.h:141:1: warning: no return statement in function returning non-void [-Wreturn-type] } ^ vim +/page +128 include/linux/dax.h 124 125 126 static inline bool dax_lock_mapping_entry(struct page *page) 127 { > 128 struct page *page = pfn_to_page(pfn); 129 130 if (IS_DAX(page->mapping->host)) 131 return true; 132 return false; 133 } 134 135 void dax_unlock_mapping_entry(struct page *page) 136 { 137 } 138 139 static inline struct page *dax_lock_page(unsigned long pfn) 140 { > 141 } 142 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation