Hi Miaohe, kernel test robot noticed the following build errors: [auto build test ERROR on akpm-mm/mm-everything] [also build test ERROR on linus/master next-20240523] [cannot apply to v6.9] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Miaohe-Lin/mm-memory-failure-simplify-put_ref_page/20240524-171903 base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything patch link: https://lore.kernel.org/r/20240524091310.1430048-8-linmiaohe%40huawei.com patch subject: [PATCH 07/13] mm/memory-failure: remove unneeded hwpoison_filter() variant config: i386-randconfig-005-20240524 (https://download.01.org/0day-ci/archive/20240524/202405242336.o1NEOrln-lkp@xxxxxxxxx/config) compiler: gcc-11 (Ubuntu 11.4.0-4ubuntu1) 11.4.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240524/202405242336.o1NEOrln-lkp@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202405242336.o1NEOrln-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): ld: mm/memory-failure.o: in function `try_memory_failure_hugetlb': >> mm/memory-failure.c:2098:(.text+0x28a8): undefined reference to `hwpoison_filter' ld: mm/memory-failure.o: in function `memory_failure': mm/memory-failure.c:2321:(.text+0x2a98): undefined reference to `hwpoison_filter' ld: mm/memory-failure.o: in function `soft_offline_page': mm/memory-failure.c:2841:(.text+0x3217): undefined reference to `hwpoison_filter' vim +2098 mm/memory-failure.c 405ce051236cc6 Naoya Horiguchi 2022-04-21 2057 405ce051236cc6 Naoya Horiguchi 2022-04-21 2058 /* 405ce051236cc6 Naoya Horiguchi 2022-04-21 2059 * Taking refcount of hugetlb pages needs extra care about race conditions 405ce051236cc6 Naoya Horiguchi 2022-04-21 2060 * with basic operations like hugepage allocation/free/demotion. 405ce051236cc6 Naoya Horiguchi 2022-04-21 2061 * So some of prechecks for hwpoison (pinning, and testing/setting 405ce051236cc6 Naoya Horiguchi 2022-04-21 2062 * PageHWPoison) should be done in single hugetlb_lock range. 405ce051236cc6 Naoya Horiguchi 2022-04-21 2063 */ 405ce051236cc6 Naoya Horiguchi 2022-04-21 2064 static int try_memory_failure_hugetlb(unsigned long pfn, int flags, int *hugetlb) 0348d2ebec9b00 Naoya Horiguchi 2017-07-10 2065 { 761ad8d7c7b548 Naoya Horiguchi 2017-07-10 2066 int res; 405ce051236cc6 Naoya Horiguchi 2022-04-21 2067 struct page *p = pfn_to_page(pfn); bc1cfde1946752 Sidhartha Kumar 2023-01-12 2068 struct folio *folio; 761ad8d7c7b548 Naoya Horiguchi 2017-07-10 2069 unsigned long page_flags; e591ef7d96d6ea Naoya Horiguchi 2022-10-24 2070 bool migratable_cleared = false; 761ad8d7c7b548 Naoya Horiguchi 2017-07-10 2071 405ce051236cc6 Naoya Horiguchi 2022-04-21 2072 *hugetlb = 1; 405ce051236cc6 Naoya Horiguchi 2022-04-21 2073 retry: e591ef7d96d6ea Naoya Horiguchi 2022-10-24 2074 res = get_huge_page_for_hwpoison(pfn, flags, &migratable_cleared); 405ce051236cc6 Naoya Horiguchi 2022-04-21 2075 if (res == 2) { /* fallback to normal page handling */ 405ce051236cc6 Naoya Horiguchi 2022-04-21 2076 *hugetlb = 0; 405ce051236cc6 Naoya Horiguchi 2022-04-21 2077 return 0; 405ce051236cc6 Naoya Horiguchi 2022-04-21 2078 } else if (res == -EHWPOISON) { 96f96763de26d6 Kefeng Wang 2022-07-26 2079 pr_err("%#lx: already hardware poisoned\n", pfn); 405ce051236cc6 Naoya Horiguchi 2022-04-21 2080 if (flags & MF_ACTION_REQUIRED) { bc1cfde1946752 Sidhartha Kumar 2023-01-12 2081 folio = page_folio(p); bc1cfde1946752 Sidhartha Kumar 2023-01-12 2082 res = kill_accessing_process(current, folio_pfn(folio), flags); 38fe2f81155c0e Jane Chu 2024-05-21 2083 action_result(pfn, MF_MSG_ALREADY_POISONED, MF_FAILED); 38fe2f81155c0e Jane Chu 2024-05-21 2084 return res; 405ce051236cc6 Naoya Horiguchi 2022-04-21 2085 } 405ce051236cc6 Naoya Horiguchi 2022-04-21 2086 return res; 405ce051236cc6 Naoya Horiguchi 2022-04-21 2087 } else if (res == -EBUSY) { 38f6d29397ccb9 Naoya Horiguchi 2022-07-14 2088 if (!(flags & MF_NO_RETRY)) { 38f6d29397ccb9 Naoya Horiguchi 2022-07-14 2089 flags |= MF_NO_RETRY; 405ce051236cc6 Naoya Horiguchi 2022-04-21 2090 goto retry; 405ce051236cc6 Naoya Horiguchi 2022-04-21 2091 } 38fe2f81155c0e Jane Chu 2024-05-21 2092 return action_result(pfn, MF_MSG_GET_HWPOISON, MF_IGNORED); 761ad8d7c7b548 Naoya Horiguchi 2017-07-10 2093 } 761ad8d7c7b548 Naoya Horiguchi 2017-07-10 2094 bc1cfde1946752 Sidhartha Kumar 2023-01-12 2095 folio = page_folio(p); bc1cfde1946752 Sidhartha Kumar 2023-01-12 2096 folio_lock(folio); 405ce051236cc6 Naoya Horiguchi 2022-04-21 2097 e37e7b0b3bd52e Naoya Horiguchi 2021-12-24 @2098 if (hwpoison_filter(p)) { 2ff6cecee669bf Sidhartha Kumar 2023-01-12 2099 folio_clear_hugetlb_hwpoison(folio); e591ef7d96d6ea Naoya Horiguchi 2022-10-24 2100 if (migratable_cleared) bc1cfde1946752 Sidhartha Kumar 2023-01-12 2101 folio_set_hugetlb_migratable(folio); bc1cfde1946752 Sidhartha Kumar 2023-01-12 2102 folio_unlock(folio); f36a5543a74883 Miaohe Lin 2022-08-18 2103 if (res == 1) bc1cfde1946752 Sidhartha Kumar 2023-01-12 2104 folio_put(folio); f36a5543a74883 Miaohe Lin 2022-08-18 2105 return -EOPNOTSUPP; 761ad8d7c7b548 Naoya Horiguchi 2017-07-10 2106 } 405ce051236cc6 Naoya Horiguchi 2022-04-21 2107 405ce051236cc6 Naoya Horiguchi 2022-04-21 2108 /* 405ce051236cc6 Naoya Horiguchi 2022-04-21 2109 * Handling free hugepage. The possible race with hugepage allocation 405ce051236cc6 Naoya Horiguchi 2022-04-21 2110 * or demotion can be prevented by PageHWPoison flag. 405ce051236cc6 Naoya Horiguchi 2022-04-21 2111 */ 405ce051236cc6 Naoya Horiguchi 2022-04-21 2112 if (res == 0) { bc1cfde1946752 Sidhartha Kumar 2023-01-12 2113 folio_unlock(folio); f40962a5b0bca2 Miaohe Lin 2024-05-23 2114 if (__page_handle_poison(p) > 0) { a8b2c2ce89d4e0 Oscar Salvador 2020-12-14 2115 page_ref_inc(p); a8b2c2ce89d4e0 Oscar Salvador 2020-12-14 2116 res = MF_RECOVERED; ceaf8fbea79a85 Naoya Horiguchi 2022-07-14 2117 } else { ceaf8fbea79a85 Naoya Horiguchi 2022-07-14 2118 res = MF_FAILED; a8b2c2ce89d4e0 Oscar Salvador 2020-12-14 2119 } b66d00dfebe79e Kefeng Wang 2022-10-21 2120 return action_result(pfn, MF_MSG_FREE_HUGE, res); 761ad8d7c7b548 Naoya Horiguchi 2017-07-10 2121 } 761ad8d7c7b548 Naoya Horiguchi 2017-07-10 2122 bc1cfde1946752 Sidhartha Kumar 2023-01-12 2123 page_flags = folio->flags; 761ad8d7c7b548 Naoya Horiguchi 2017-07-10 2124 03468a0f52893b Matthew Wilcox (Oracle 2024-04-12 2125) if (!hwpoison_user_mappings(folio, p, pfn, flags)) { bc1cfde1946752 Sidhartha Kumar 2023-01-12 2126 folio_unlock(folio); 38fe2f81155c0e Jane Chu 2024-05-21 2127 return action_result(pfn, MF_MSG_UNMAP_FAILED, MF_FAILED); 761ad8d7c7b548 Naoya Horiguchi 2017-07-10 2128 } 761ad8d7c7b548 Naoya Horiguchi 2017-07-10 2129 ea6d0630100b28 Naoya Horiguchi 2021-06-24 2130 return identify_page_state(pfn, p, page_flags); 761ad8d7c7b548 Naoya Horiguchi 2017-07-10 2131 } 00cc790e003693 Shiyang Ruan 2022-06-03 2132 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki