[akpm-mm:mm-unstable 154/159] mm/memory-failure.c:1538:9: error: implicit declaration of function 'hugetlb_set_page_hwpoison'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable
head:   1bdf44dbc966e31c635199d413ee064a7d320844
commit: d4edf38ab95397f32ae017848deeeb3b6d2c5bb7 [154/159] mm, hwpoison, hugetlb: introduce SUBPAGE_INDEX_HWPOISON to save raw error page
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20220603/202206030829.0eS2kZa0-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.3.0-1) 11.3.0
reproduce (this is a W=1 build):
        # https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/commit/?id=d4edf38ab95397f32ae017848deeeb3b6d2c5bb7
        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 d4edf38ab95397f32ae017848deeeb3b6d2c5bb7
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=x86_64 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 >>):

   mm/memory-failure.c: In function '__get_huge_page_for_hwpoison':
>> mm/memory-failure.c:1538:9: error: implicit declaration of function 'hugetlb_set_page_hwpoison' [-Werror=implicit-function-declaration]
    1538 |         hugetlb_set_page_hwpoison(head, page);
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/hugetlb_set_page_hwpoison +1538 mm/memory-failure.c

  1498	
  1499	/*
  1500	 * Called from hugetlb code with hugetlb_lock held.
  1501	 *
  1502	 * Return values:
  1503	 *   0             - free hugepage
  1504	 *   1             - in-use hugepage
  1505	 *   2             - not a hugepage
  1506	 *   -EBUSY        - the hugepage is busy (try to retry)
  1507	 *   -EHWPOISON    - the hugepage is already hwpoisoned
  1508	 */
  1509	int __get_huge_page_for_hwpoison(unsigned long pfn, int flags)
  1510	{
  1511		struct page *page = pfn_to_page(pfn);
  1512		struct page *head = compound_head(page);
  1513		int ret = 2;	/* fallback to normal page handling */
  1514		bool count_increased = false;
  1515	
  1516		if (!PageHeadHuge(head))
  1517			goto out;
  1518	
  1519		if (flags & MF_COUNT_INCREASED) {
  1520			ret = 1;
  1521			count_increased = true;
  1522		} else if (HPageFreed(head)) {
  1523			ret = 0;
  1524		} else if (HPageMigratable(head)) {
  1525			ret = get_page_unless_zero(head);
  1526			if (ret)
  1527				count_increased = true;
  1528		} else {
  1529			ret = -EBUSY;
  1530			goto out;
  1531		}
  1532	
  1533		if (TestSetPageHWPoison(head)) {
  1534			ret = -EHWPOISON;
  1535			goto out;
  1536		}
  1537	
> 1538		hugetlb_set_page_hwpoison(head, page);
  1539	
  1540		return ret;
  1541	out:
  1542		if (count_increased)
  1543			put_page(head);
  1544		return ret;
  1545	}
  1546	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux