tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/mst/vhost.git linux-next head: 39c226b6b576b23d6d558331e6895f02b0892555 commit: 50ed0c2ecb2e254a50e4ad775840f29d42cf6c00 [14/17] mm: Introduce Reported pages config: m68k-allmodconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 50ed0c2ecb2e254a50e4ad775840f29d42cf6c00 # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=m68k If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): In file included from include/linux/page_reporting.h:5:0, from :0: include/linux/mmzone.h: In function 'add_to_free_list_tail': include/linux/mmzone.h:791:27: error: implicit declaration of function 'get_unreported_tail' [-Werror=implicit-function-declaration] struct list_head *tail = get_unreported_tail(zone, order, migratetype); ^~~~~~~~~~~~~~~~~~~ include/linux/mmzone.h:791:27: warning: initialization makes pointer from integer without a cast [-Wint-conversion] include/linux/mmzone.h: In function 'move_to_free_list': include/linux/mmzone.h:807:27: warning: initialization makes pointer from integer without a cast [-Wint-conversion] struct list_head *tail = get_unreported_tail(zone, order, migratetype); ^~~~~~~~~~~~~~~~~~~ >> include/linux/mmzone.h:815:3: error: implicit declaration of function 'move_page_to_reported_list'; did you mean 'move_to_free_list'? [-Werror=implicit-function-declaration] move_page_to_reported_list(page, zone, migratetype); ^~~~~~~~~~~~~~~~~~~~~~~~~~ move_to_free_list include/linux/mmzone.h: In function 'del_page_from_free_list': include/linux/mmzone.h:831:3: error: implicit declaration of function 'del_page_from_reported_list'; did you mean 'del_page_from_free_list'? [-Werror=implicit-function-declaration] del_page_from_reported_list(page, zone); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ del_page_from_free_list In file included from :0:0: include/linux/page_reporting.h: At top level: include/linux/page_reporting.h:74:1: error: conflicting types for 'get_unreported_tail' get_unreported_tail(struct zone *zone, unsigned int order, int migratetype) ^~~~~~~~~~~~~~~~~~~ In file included from include/linux/page_reporting.h:5:0, from :0: include/linux/mmzone.h:791:27: note: previous implicit declaration of 'get_unreported_tail' was here struct list_head *tail = get_unreported_tail(zone, order, migratetype); ^~~~~~~~~~~~~~~~~~~ In file included from :0:0: include/linux/page_reporting.h:106:20: warning: conflicting types for 'del_page_from_reported_list' static inline void del_page_from_reported_list(struct page *page, ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/page_reporting.h:106:20: error: static declaration of 'del_page_from_reported_list' follows non-static declaration In file included from include/linux/page_reporting.h:5:0, from :0: include/linux/mmzone.h:831:3: note: previous implicit declaration of 'del_page_from_reported_list' was here del_page_from_reported_list(page, zone); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from :0:0: include/linux/page_reporting.h:118:20: warning: conflicting types for 'move_page_to_reported_list' static inline void move_page_to_reported_list(struct page *page, ^~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/page_reporting.h:118:20: error: static declaration of 'move_page_to_reported_list' follows non-static declaration In file included from include/linux/page_reporting.h:5:0, from :0: include/linux/mmzone.h:815:3: note: previous implicit declaration of 'move_page_to_reported_list' was here move_page_to_reported_list(page, zone, migratetype); ^~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +815 include/linux/mmzone.h 786 787 /* Used for pages not on another list */ 788 static inline void add_to_free_list_tail(struct page *page, struct zone *zone, 789 unsigned int order, int migratetype) 790 { > 791 struct list_head *tail = get_unreported_tail(zone, order, migratetype); 792 793 /* 794 * To prevent the unreported pages from being interleaved with the 795 * reported ones while we are actively processing pages we will use 796 * the head of the reported pages to determine the tail of the free 797 * list. 798 */ 799 list_add_tail(&page->lru, tail); 800 zone->free_area[order].nr_free++; 801 } 802 803 /* Used for pages which are on another list */ 804 static inline void move_to_free_list(struct page *page, struct zone *zone, 805 unsigned int order, int migratetype) 806 { 807 struct list_head *tail = get_unreported_tail(zone, order, migratetype); 808 809 /* 810 * We must get the tail for our target list before moving the page on 811 * the reported list as we will possibly be replacing the tail page of 812 * the list with our current page if it is reported. 813 */ 814 if (unlikely(PageReported(page))) > 815 move_page_to_reported_list(page, zone, migratetype); 816 817 /* 818 * To prevent unreported pages from being mixed with the reported 819 * ones we add pages to the tail of the list. By doing this the function 820 * above can either label them as included in the reported list or not 821 * and the result will be consistent. 822 */ 823 list_move_tail(&page->lru, tail); 824 } 825 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation