On Mon, Jul 04, 2022 at 02:16:15PM +0800, kernel test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable > head: ce4dc6b0378ef1bd305c37c94fb8aabee4c5be04 > commit: 43906a2b9553df7799daed304529a6920e97f9e8 [244/249] mm, hwpoison, hugetlb: support saving mechanism of raw error pages > config: parisc-randconfig-r014-20220703 (https://download.01.org/0day-ci/archive/20220704/202207041434.cdFm3q6k-lkp@xxxxxxxxx/config) > compiler: hppa-linux-gcc (GCC) 11.3.0 > reproduce (this is a W=1 build): > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/commit/?id=43906a2b9553df7799daed304529a6920e97f9e8 > git remote add akpm-mm https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git > git fetch --no-tags akpm-mm mm-unstable > git checkout 43906a2b9553df7799daed304529a6920e97f9e8 > # save the config file > mkdir build_dir && cp config build_dir/.config > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=parisc SHELL=/bin/bash > > If you fix the issue, kindly add following tag where applicable > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > All errors (new ones prefixed by >>): > > In file included from include/linux/mmzone.h:21, > from include/linux/gfp.h:6, > from include/linux/mm.h:7, > from mm/memory-failure.c:37: > mm/memory-failure.c: In function 'raw_hwp_list_head': > >> mm/memory-failure.c:1679:59: error: 'SUBPAGE_INDEX_HWPOISON' undeclared (first use in this function) > 1679 | return (struct llist_head *)&page_private(hpage + SUBPAGE_INDEX_HWPOISON); > | ^~~~~~~~~~~~~~~~~~~~~~ > include/linux/mm_types.h:334:43: note: in definition of macro 'page_private' > 334 | #define page_private(page) ((page)->private) > | ^~~~ > mm/memory-failure.c:1679:59: note: each undeclared identifier is reported only once for each function it appears in > 1679 | return (struct llist_head *)&page_private(hpage + SUBPAGE_INDEX_HWPOISON); > | ^~~~~~~~~~~~~~~~~~~~~~ > include/linux/mm_types.h:334:43: note: in definition of macro 'page_private' > 334 | #define page_private(page) ((page)->private) > | ^~~~ > mm/memory-failure.c:1680:1: error: control reaches end of non-void function [-Werror=return-type] > 1680 | } > | ^ > cc1: some warnings being treated as errors I think that this problem was already mentioned previously, but the separate fix seems to be fallen off when updating/rebasing (sorry about that). The following diff should fix the problem. I think that this can be folded into the patch "mm, hwpoison, hugetlb: support saving mechanism of raw error pages" (https://lore.kernel.org/linux-mm/20220704013312.2415700-5-naoya.horiguchi@xxxxxxxxx/). Thanks, Naoya Horiguchi --- diff --git a/mm/memory-failure.c b/mm/memory-failure.c index ba24b72b8764..ead9d43114dc 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -1670,6 +1670,7 @@ int mf_dax_kill_procs(struct address_space *mapping, pgoff_t index, EXPORT_SYMBOL_GPL(mf_dax_kill_procs); #endif /* CONFIG_FS_DAX */ +#ifdef CONFIG_HUGETLB_PAGE /* * Struct raw_hwp_page represents information about "raw error page", * constructing singly linked list originated from ->private field of @@ -1804,7 +1805,6 @@ int __get_huge_page_for_hwpoison(unsigned long pfn, int flags) return ret; } -#ifdef CONFIG_HUGETLB_PAGE /* * Taking refcount of hugetlb pages needs extra care about race conditions * with basic operations like hugepage allocation/free/demotion. @@ -1885,8 +1885,9 @@ static inline int try_memory_failure_hugetlb(unsigned long pfn, int flags, int * return 0; } -static inline void free_raw_hwp_pages(struct page *hpage, bool move_flag) +static inline long free_raw_hwp_pages(struct page *hpage, bool move_flag) { + return 0; } #endif /* CONFIG_HUGETLB_PAGE */