[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <202206030829.0eS2kZa0-lkp@intel.com>
Date: Fri, 3 Jun 2022 08:27:50 +0800
From: kernel test robot <lkp@...el.com>
To: Naoya Horiguchi <naoya.horiguchi@....com>
Cc: kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>,
Linux Memory Management List <linux-mm@...ck.org>
Subject: [akpm-mm:mm-unstable 154/159] mm/memory-failure.c:1538:9: error:
implicit declaration of function 'hugetlb_set_page_hwpoison'
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@intel.com/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@...el.com>
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
Powered by blists - more mailing lists