[vhost:linux-next 14/17] include/linux/mmzone.h:815:3: error: implicit declaration of function 'move_page_to_reported_list'; did you mean 'move_to_free_list'?

kbuild test robot
Wed, 11 Sep 2019 09:33:59 -0000

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 <lkp at intel.com>

All errors (new ones prefixed by >>):

   In file included from include/linux/page_reporting.h:5:0,
                    from <command-line>: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 <command-line>: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 <command-line>: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 <command-line>: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 <command-line>: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 <command-line>: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 <command-line>: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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 50929 bytes
Desc: not available
URL:
<http://lists.linuxfoundation.org/pipermail/virtualization/attachments/20190911/aef34b3d/attachment-0001.bin>