lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Wed, 11 Sep 2019 17:33:59 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Alexander Duyck <alexander.h.duyck@...ux.intel.com>
Cc:     kbuild-all@...org, kvm@...r.kernel.org,
        virtualization@...ts.linux-foundation.org, netdev@...r.kernel.org,
        "Michael S. Tsirkin" <mst@...hat.com>
Subject: [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'?

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@...el.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

Download attachment ".config.gz" of type "application/gzip" (50929 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ