public inbox for llvm@lists.linux.dev
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	Hu Haowen <src.res.211@gmail.com>
Subject: [srcres258-doc:next 1/1] mm/memory-failure.c:1891:6: error: redefinition of 'is_raw_hwpoison_page_in_hugepage'
Date: Tue, 18 Jul 2023 17:42:05 +0800	[thread overview]
Message-ID: <202307181715.0dwDb1O9-lkp@intel.com> (raw)

tree:   https://github.com/srcres258/linux-doc next
head:   1f94ea418de902796fa65b97c7138c5c6dff13dc
commit: 1f94ea418de902796fa65b97c7138c5c6dff13dc [1/1] Merge commit '899cbd7b84da84d430b58d3bab82314e7f41c71d' into next
config: x86_64-buildonly-randconfig-r001-20230717 (https://download.01.org/0day-ci/archive/20230718/202307181715.0dwDb1O9-lkp@intel.com/config)
compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project.git 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a)
reproduce: (https://download.01.org/0day-ci/archive/20230718/202307181715.0dwDb1O9-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307181715.0dwDb1O9-lkp@intel.com/

All errors (new ones prefixed by >>):

   mm/memory-failure.c:1845:17: error: call to undeclared function 'raw_hwp_list_head'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
           raw_hwp_head = raw_hwp_list_head(folio);
                          ^
   mm/memory-failure.c:1845:15: error: incompatible integer to pointer conversion assigning to 'struct llist_head *' from 'int' [-Wint-conversion]
           raw_hwp_head = raw_hwp_list_head(folio);
                        ^ ~~~~~~~~~~~~~~~~~~~~~~~~
   mm/memory-failure.c:1878:17: error: call to undeclared function 'raw_hwp_list_head'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
           raw_hwp_head = raw_hwp_list_head(folio);
                          ^
   mm/memory-failure.c:1878:15: error: incompatible integer to pointer conversion assigning to 'struct llist_head *' from 'int' [-Wint-conversion]
           raw_hwp_head = raw_hwp_list_head(folio);
                        ^ ~~~~~~~~~~~~~~~~~~~~~~~~
>> mm/memory-failure.c:1891:6: error: redefinition of 'is_raw_hwpoison_page_in_hugepage'
   bool is_raw_hwpoison_page_in_hugepage(struct page *page)
        ^
   mm/memory-failure.c:1856:6: note: previous definition is here
   bool is_raw_hwpoison_page_in_hugepage(struct page *page)
        ^
   mm/memory-failure.c:1913:17: error: call to undeclared function 'raw_hwp_list_head'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
           raw_hwp_head = raw_hwp_list_head(folio);
                          ^
   mm/memory-failure.c:1913:15: error: incompatible integer to pointer conversion assigning to 'struct llist_head *' from 'int' [-Wint-conversion]
           raw_hwp_head = raw_hwp_list_head(folio);
                        ^ ~~~~~~~~~~~~~~~~~~~~~~~~
   mm/memory-failure.c:1931:23: error: call to undeclared function 'raw_hwp_list_head'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
           head = llist_del_all(raw_hwp_list_head(folio));
                                ^
   mm/memory-failure.c:1931:23: error: incompatible integer to pointer conversion passing 'int' to parameter of type 'struct llist_head *' [-Wint-conversion]
           head = llist_del_all(raw_hwp_list_head(folio));
                                ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/llist.h:237:67: note: passing argument to parameter 'head' here
   static inline struct llist_node *llist_del_all(struct llist_head *head)
                                                                     ^
   mm/memory-failure.c:1959:9: error: call to undeclared function 'raw_hwp_list_head'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
           head = raw_hwp_list_head(folio);
                  ^
   mm/memory-failure.c:1959:7: error: incompatible integer to pointer conversion assigning to 'struct llist_head *' from 'int' [-Wint-conversion]
           head = raw_hwp_list_head(folio);
                ^ ~~~~~~~~~~~~~~~~~~~~~~~~
   11 errors generated.


vim +/is_raw_hwpoison_page_in_hugepage +1891 mm/memory-failure.c

161df60e9e8965 Naoya Horiguchi 2022-07-14  1828  
e833a46a28d799 Jiaqi Yan       2023-07-07  1829  bool __is_raw_hwp_subpage(struct folio *folio, struct page *subpage)
e833a46a28d799 Jiaqi Yan       2023-07-07  1830  {
e833a46a28d799 Jiaqi Yan       2023-07-07  1831  	struct llist_head *raw_hwp_head;
e833a46a28d799 Jiaqi Yan       2023-07-07  1832  	struct raw_hwp_page *p, *tmp;
e833a46a28d799 Jiaqi Yan       2023-07-07  1833  	bool ret = false;
e833a46a28d799 Jiaqi Yan       2023-07-07  1834  
e833a46a28d799 Jiaqi Yan       2023-07-07  1835  	if (!folio_test_hwpoison(folio))
e833a46a28d799 Jiaqi Yan       2023-07-07  1836  		return false;
e833a46a28d799 Jiaqi Yan       2023-07-07  1837  
161df60e9e8965 Naoya Horiguchi 2022-07-14  1838  	/*
e833a46a28d799 Jiaqi Yan       2023-07-07  1839  	 * When RawHwpUnreliable is set, kernel lost track of which subpages
e833a46a28d799 Jiaqi Yan       2023-07-07  1840  	 * are HWPOISON. So return as if ALL subpages are HWPOISONed.
161df60e9e8965 Naoya Horiguchi 2022-07-14  1841  	 */
e833a46a28d799 Jiaqi Yan       2023-07-07  1842  	if (folio_test_hugetlb_raw_hwp_unreliable(folio))
e833a46a28d799 Jiaqi Yan       2023-07-07  1843  		return true;
161df60e9e8965 Naoya Horiguchi 2022-07-14  1844  
e833a46a28d799 Jiaqi Yan       2023-07-07 @1845  	raw_hwp_head = raw_hwp_list_head(folio);
e833a46a28d799 Jiaqi Yan       2023-07-07  1846  	llist_for_each_entry_safe(p, tmp, raw_hwp_head->first, node) {
e833a46a28d799 Jiaqi Yan       2023-07-07  1847  		if (subpage == p->page) {
e833a46a28d799 Jiaqi Yan       2023-07-07  1848  			ret = true;
e833a46a28d799 Jiaqi Yan       2023-07-07  1849  			break;
e833a46a28d799 Jiaqi Yan       2023-07-07  1850  		}
e833a46a28d799 Jiaqi Yan       2023-07-07  1851  	}
e833a46a28d799 Jiaqi Yan       2023-07-07  1852  
e833a46a28d799 Jiaqi Yan       2023-07-07  1853  	return ret;
161df60e9e8965 Naoya Horiguchi 2022-07-14  1854  }
161df60e9e8965 Naoya Horiguchi 2022-07-14  1855  
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1856  bool is_raw_hwpoison_page_in_hugepage(struct page *page)
1f94ea418de902 Hu Haowen       2023-07-17  1857  {
1f94ea418de902 Hu Haowen       2023-07-17  1858  	struct llist_head *raw_hwp_head;
1f94ea418de902 Hu Haowen       2023-07-17  1859  	struct raw_hwp_page *p;
1f94ea418de902 Hu Haowen       2023-07-17  1860  	struct folio *folio = page_folio(page);
1f94ea418de902 Hu Haowen       2023-07-17  1861  	bool ret = false;
1f94ea418de902 Hu Haowen       2023-07-17  1862  
1f94ea418de902 Hu Haowen       2023-07-17  1863  	if (!folio_test_hwpoison(folio))
1f94ea418de902 Hu Haowen       2023-07-17  1864  		return false;
1f94ea418de902 Hu Haowen       2023-07-17  1865  
1f94ea418de902 Hu Haowen       2023-07-17  1866  	if (!folio_test_hugetlb(folio))
1f94ea418de902 Hu Haowen       2023-07-17  1867  		return PageHWPoison(page);
1f94ea418de902 Hu Haowen       2023-07-17  1868  
1f94ea418de902 Hu Haowen       2023-07-17  1869  	/*
1f94ea418de902 Hu Haowen       2023-07-17  1870  	 * When RawHwpUnreliable is set, kernel lost track of which subpages
1f94ea418de902 Hu Haowen       2023-07-17  1871  	 * are HWPOISON. So return as if ALL subpages are HWPOISONed.
1f94ea418de902 Hu Haowen       2023-07-17  1872  	 */
1f94ea418de902 Hu Haowen       2023-07-17  1873  	if (folio_test_hugetlb_raw_hwp_unreliable(folio))
1f94ea418de902 Hu Haowen       2023-07-17  1874  		return true;
1f94ea418de902 Hu Haowen       2023-07-17  1875  
1f94ea418de902 Hu Haowen       2023-07-17  1876  	mutex_lock(&mf_mutex);
1f94ea418de902 Hu Haowen       2023-07-17  1877  
1f94ea418de902 Hu Haowen       2023-07-17  1878  	raw_hwp_head = raw_hwp_list_head(folio);
1f94ea418de902 Hu Haowen       2023-07-17  1879  	llist_for_each_entry(p, raw_hwp_head->first, node) {
1f94ea418de902 Hu Haowen       2023-07-17  1880  		if (page == p->page) {
1f94ea418de902 Hu Haowen       2023-07-17  1881  			ret = true;
1f94ea418de902 Hu Haowen       2023-07-17  1882  			break;
1f94ea418de902 Hu Haowen       2023-07-17  1883  		}
1f94ea418de902 Hu Haowen       2023-07-17  1884  	}
1f94ea418de902 Hu Haowen       2023-07-17  1885  
1f94ea418de902 Hu Haowen       2023-07-17  1886  	mutex_unlock(&mf_mutex);
1f94ea418de902 Hu Haowen       2023-07-17  1887  
1f94ea418de902 Hu Haowen       2023-07-17  1888  	return ret;
161df60e9e8965 Naoya Horiguchi 2022-07-14  1889  }
161df60e9e8965 Naoya Horiguchi 2022-07-14  1890  
6877d647d86cd0 Jiaqi Yan       2023-07-13 @1891  bool is_raw_hwpoison_page_in_hugepage(struct page *page)
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1892  {
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1893  	struct llist_head *raw_hwp_head;
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1894  	struct raw_hwp_page *p;
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1895  	struct folio *folio = page_folio(page);
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1896  	bool ret = false;
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1897  
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1898  	if (!folio_test_hwpoison(folio))
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1899  		return false;
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1900  
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1901  	if (!folio_test_hugetlb(folio))
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1902  		return PageHWPoison(page);
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1903  
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1904  	/*
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1905  	 * When RawHwpUnreliable is set, kernel lost track of which subpages
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1906  	 * are HWPOISON. So return as if ALL subpages are HWPOISONed.
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1907  	 */
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1908  	if (folio_test_hugetlb_raw_hwp_unreliable(folio))
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1909  		return true;
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1910  
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1911  	mutex_lock(&mf_mutex);
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1912  
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1913  	raw_hwp_head = raw_hwp_list_head(folio);
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1914  	llist_for_each_entry(p, raw_hwp_head->first, node) {
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1915  		if (page == p->page) {
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1916  			ret = true;
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1917  			break;
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1918  		}
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1919  	}
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1920  
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1921  	mutex_unlock(&mf_mutex);
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1922  
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1923  	return ret;
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1924  }
14bdaafea3f2ec Jiaqi Yan       2023-07-13  1925  

:::::: The code at line 1891 was first introduced by commit
:::::: 6877d647d86cd0ed29687ce09f3a5787a6553c54 mm/hwpoison: check if a raw page in a hugetlb folio is raw HWPOISON

:::::: TO: Jiaqi Yan <jiaqiyan@google.com>
:::::: CC: Andrew Morton <akpm@linux-foundation.org>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

             reply	other threads:[~2023-07-18  9:42 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-18  9:42 kernel test robot [this message]
2023-07-18 10:26 ` [srcres258-doc:next 1/1] mm/memory-failure.c:1891:6: error: redefinition of 'is_raw_hwpoison_page_in_hugepage' Stephen Rothwell
2023-07-18 15:04   ` Hu Haowen
2023-07-18 15:38     ` Philip Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202307181715.0dwDb1O9-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=sfr@canb.auug.org.au \
    --cc=src.res.211@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox