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
next 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