Messages in this thread | | | Date | Wed, 22 Dec 2021 17:15:32 +0800 | From | kernel test robot <> | Subject | [davidhildenbrand:PageAnonExclusive 1/1] mm/page_alloc.c:1329:25: error: implicit declaration of function '__ClearPageAnonExlusive'; did you mean '__ClearPageAnonExclusive'? |
| |
tree: git://github.com/davidhildenbrand/linux PageAnonExclusive head: 139b194e6278612218eae13497d76b2605489317 commit: 139b194e6278612218eae13497d76b2605489317 [1/1] mm/page-flags: Introduce PG_anon_exlusive which overloads PG_swap for !PageAnon() config: arc-randconfig-r043-20211222 (https://download.01.org/0day-ci/archive/20211222/202112221730.DUDs4mUm-lkp@intel.com/config) compiler: arc-elf-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/davidhildenbrand/linux/commit/139b194e6278612218eae13497d76b2605489317 git remote add davidhildenbrand git://github.com/davidhildenbrand/linux git fetch --no-tags davidhildenbrand PageAnonExclusive git checkout 139b194e6278612218eae13497d76b2605489317 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
mm/page_alloc.c: In function 'free_pages_prepare': >> mm/page_alloc.c:1329:25: error: implicit declaration of function '__ClearPageAnonExlusive'; did you mean '__ClearPageAnonExclusive'? [-Werror=implicit-function-declaration] 1329 | __ClearPageAnonExlusive(page); | ^~~~~~~~~~~~~~~~~~~~~~~ | __ClearPageAnonExclusive mm/page_alloc.c: At top level: mm/page_alloc.c:3807:15: warning: no previous prototype for 'should_fail_alloc_page' [-Wmissing-prototypes] 3807 | noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order) | ^~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors
vim +1329 mm/page_alloc.c
1281 1282 static __always_inline bool free_pages_prepare(struct page *page, 1283 unsigned int order, bool check_free, fpi_t fpi_flags) 1284 { 1285 int bad = 0; 1286 bool skip_kasan_poison = should_skip_kasan_poison(page, fpi_flags); 1287 1288 VM_BUG_ON_PAGE(PageTail(page), page); 1289 1290 trace_mm_page_free(page, order); 1291 1292 if (unlikely(PageHWPoison(page)) && !order) { 1293 /* 1294 * Do not let hwpoison pages hit pcplists/buddy 1295 * Untie memcg state and reset page's owner 1296 */ 1297 if (memcg_kmem_enabled() && PageMemcgKmem(page)) 1298 __memcg_kmem_uncharge_page(page, order); 1299 reset_page_owner(page, order); 1300 return false; 1301 } 1302 1303 /* 1304 * Check tail pages before head page information is cleared to 1305 * avoid checking PageCompound for order-0 pages. 1306 */ 1307 if (unlikely(order)) { 1308 bool compound = PageCompound(page); 1309 int i; 1310 1311 VM_BUG_ON_PAGE(compound && compound_order(page) != order, page); 1312 1313 if (compound) { 1314 ClearPageDoubleMap(page); 1315 ClearPageHasHWPoisoned(page); 1316 } 1317 for (i = 1; i < (1 << order); i++) { 1318 if (compound) 1319 bad += free_tail_pages_check(page, page + i); 1320 if (unlikely(check_free_page(page + i))) { 1321 bad++; 1322 continue; 1323 } 1324 (page + i)->flags &= ~PAGE_FLAGS_CHECK_AT_PREP; 1325 } 1326 } 1327 if (PageMappingFlags(page)) { 1328 if (__PageAnon(page)) > 1329 __ClearPageAnonExlusive(page); 1330 page->mapping = NULL; 1331 } 1332 if (memcg_kmem_enabled() && PageMemcgKmem(page)) 1333 __memcg_kmem_uncharge_page(page, order); 1334 if (check_free) 1335 bad += check_free_page(page); 1336 if (bad) 1337 return false; 1338 1339 page_cpupid_reset_last(page); 1340 page->flags &= ~PAGE_FLAGS_CHECK_AT_PREP; 1341 reset_page_owner(page, order); 1342 1343 if (!PageHighMem(page)) { 1344 debug_check_no_locks_freed(page_address(page), 1345 PAGE_SIZE << order); 1346 debug_check_no_obj_freed(page_address(page), 1347 PAGE_SIZE << order); 1348 } 1349 1350 kernel_poison_pages(page, 1 << order); 1351 1352 /* 1353 * As memory initialization might be integrated into KASAN, 1354 * kasan_free_pages and kernel_init_free_pages must be 1355 * kept together to avoid discrepancies in behavior. 1356 * 1357 * With hardware tag-based KASAN, memory tags must be set before the 1358 * page becomes unavailable via debug_pagealloc or arch_free_page. 1359 */ 1360 if (kasan_has_integrated_init()) { 1361 if (!skip_kasan_poison) 1362 kasan_free_pages(page, order); 1363 } else { 1364 bool init = want_init_on_free(); 1365 1366 if (init) 1367 kernel_init_free_pages(page, 1 << order, false); 1368 if (!skip_kasan_poison) 1369 kasan_poison_pages(page, order, init); 1370 } 1371 1372 /* 1373 * arch_free_page() can make the page's contents inaccessible. s390 1374 * does this. So nothing which can access the page's contents should 1375 * happen after this. 1376 */ 1377 arch_free_page(page, order); 1378 1379 debug_pagealloc_unmap_pages(page, 1 << order); 1380 1381 return true; 1382 } 1383
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
| |