Hi Wei, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [cannot apply to v5.4-rc1 next-20191004] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Wei-Yang/hugetlb-remove-unused-hstate-in-hugetlb_fault_mutex_hash/20191005-090034 config: x86_64-fedora-25 (attached as .config) compiler: gcc-7 (Debian 7.4.0-13) 7.4.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All warnings (new ones prefixed by >>): In file included from include/asm-generic/bug.h:5:0, from arch/x86/include/asm/bug.h:83, from include/linux/bug.h:5, from include/linux/mmdebug.h:5, from include/linux/mm.h:9, from mm/userfaultfd.c:8: mm/userfaultfd.c: In function '__mcopy_atomic_hugetlb': mm/userfaultfd.c:262:40: error: 'h' undeclared (first use in this function) VM_BUG_ON(dst_addr & ~huge_page_mask(h)); ^ include/linux/compiler.h:78:42: note: in definition of macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ >> include/linux/mmdebug.h:18:25: note: in expansion of macro 'BUG_ON' #define VM_BUG_ON(cond) BUG_ON(cond) ^~~~~~ mm/userfaultfd.c:262:3: note: in expansion of macro 'VM_BUG_ON' VM_BUG_ON(dst_addr & ~huge_page_mask(h)); ^~~~~~~~~ mm/userfaultfd.c:262:40: note: each undeclared identifier is reported only once for each function it appears in VM_BUG_ON(dst_addr & ~huge_page_mask(h)); ^ include/linux/compiler.h:78:42: note: in definition of macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ >> include/linux/mmdebug.h:18:25: note: in expansion of macro 'BUG_ON' #define VM_BUG_ON(cond) BUG_ON(cond) ^~~~~~ mm/userfaultfd.c:262:3: note: in expansion of macro 'VM_BUG_ON' VM_BUG_ON(dst_addr & ~huge_page_mask(h)); ^~~~~~~~~ vim +/BUG_ON +18 include/linux/mmdebug.h 309381feaee564 Sasha Levin 2014-01-23 16 59ea746337c69f Jiri Slaby 2008-06-12 17 #ifdef CONFIG_DEBUG_VM 59ea746337c69f Jiri Slaby 2008-06-12 @18 #define VM_BUG_ON(cond) BUG_ON(cond) 309381feaee564 Sasha Levin 2014-01-23 19 #define VM_BUG_ON_PAGE(cond, page) \ e4f674229ce63d Dave Hansen 2014-06-04 20 do { \ e4f674229ce63d Dave Hansen 2014-06-04 21 if (unlikely(cond)) { \ e4f674229ce63d Dave Hansen 2014-06-04 22 dump_page(page, "VM_BUG_ON_PAGE(" __stringify(cond)")");\ e4f674229ce63d Dave Hansen 2014-06-04 23 BUG(); \ e4f674229ce63d Dave Hansen 2014-06-04 24 } \ e4f674229ce63d Dave Hansen 2014-06-04 25 } while (0) fa3759ccd5651c Sasha Levin 2014-10-09 26 #define VM_BUG_ON_VMA(cond, vma) \ fa3759ccd5651c Sasha Levin 2014-10-09 27 do { \ fa3759ccd5651c Sasha Levin 2014-10-09 28 if (unlikely(cond)) { \ fa3759ccd5651c Sasha Levin 2014-10-09 29 dump_vma(vma); \ fa3759ccd5651c Sasha Levin 2014-10-09 30 BUG(); \ fa3759ccd5651c Sasha Levin 2014-10-09 31 } \ fa3759ccd5651c Sasha Levin 2014-10-09 32 } while (0) 31c9afa6db122a Sasha Levin 2014-10-09 33 #define VM_BUG_ON_MM(cond, mm) \ 31c9afa6db122a Sasha Levin 2014-10-09 34 do { \ 31c9afa6db122a Sasha Levin 2014-10-09 35 if (unlikely(cond)) { \ 31c9afa6db122a Sasha Levin 2014-10-09 36 dump_mm(mm); \ 31c9afa6db122a Sasha Levin 2014-10-09 37 BUG(); \ 31c9afa6db122a Sasha Levin 2014-10-09 38 } \ 31c9afa6db122a Sasha Levin 2014-10-09 39 } while (0) 91241681c62a5a Michal Hocko 2018-04-05 40 #define VM_WARN_ON(cond) (void)WARN_ON(cond) 91241681c62a5a Michal Hocko 2018-04-05 41 #define VM_WARN_ON_ONCE(cond) (void)WARN_ON_ONCE(cond) 91241681c62a5a Michal Hocko 2018-04-05 42 #define VM_WARN_ONCE(cond, format...) (void)WARN_ONCE(cond, format) 91241681c62a5a Michal Hocko 2018-04-05 43 #define VM_WARN(cond, format...) (void)WARN(cond, format) 59ea746337c69f Jiri Slaby 2008-06-12 44 #else 02602a18c32d76 Konstantin Khlebnikov 2012-05-29 45 #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) 309381feaee564 Sasha Levin 2014-01-23 46 #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond) fa3759ccd5651c Sasha Levin 2014-10-09 47 #define VM_BUG_ON_VMA(cond, vma) VM_BUG_ON(cond) 31c9afa6db122a Sasha Levin 2014-10-09 48 #define VM_BUG_ON_MM(cond, mm) VM_BUG_ON(cond) 02a8efeda894d3 Andrew Morton 2014-06-04 49 #define VM_WARN_ON(cond) BUILD_BUG_ON_INVALID(cond) 02a8efeda894d3 Andrew Morton 2014-06-04 50 #define VM_WARN_ON_ONCE(cond) BUILD_BUG_ON_INVALID(cond) ef6b571fb8920d Andrew Morton 2014-08-06 51 #define VM_WARN_ONCE(cond, format...) BUILD_BUG_ON_INVALID(cond) a54f9aebaa9f0e Aneesh Kumar K.V 2016-07-26 52 #define VM_WARN(cond, format...) BUILD_BUG_ON_INVALID(cond) 59ea746337c69f Jiri Slaby 2008-06-12 53 #endif 59ea746337c69f Jiri Slaby 2008-06-12 54 :::::: The code at line 18 was first introduced by commit :::::: 59ea746337c69f6a5f1bc4d5e8544b3cbf12f801 MM: virtual address debug :::::: TO: Jiri Slaby :::::: CC: Ingo Molnar --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation