mailweb.openeuler.org
Manage this list

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Kernel

Threads by month
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
kernel@openeuler.org

  • 45 participants
  • 21922 discussions
[openeuler:openEuler-1.0-LTS 1941/1941] mm/khugepaged.c:1336: warning: Function parameter or member 'reliable' not described in 'collapse_shmem'
by kernel test robot 13 Dec '25

13 Dec '25
Hi Ma, First bad commit (maybe != root cause): tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: df8d11fbcbb07177c2500e63d7f5a36063977596 commit: ff0fb9e816fac221fa24a1810dd895745406070b [1941/1941] mm: thp: Add memory reliable support for hugepaged collapse config: arm64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20251213/202512130008.Kt184RUn-lkp@…) compiler: aarch64-linux-gcc (GCC) 15.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251213/202512130008.Kt184RUn-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512130008.Kt184RUn-lkp@intel.com/ All warnings (new ones prefixed by >>): mm/khugepaged.c:1336: warning: Function parameter or member 'mm' not described in 'collapse_shmem' mm/khugepaged.c:1336: warning: Function parameter or member 'mapping' not described in 'collapse_shmem' mm/khugepaged.c:1336: warning: Function parameter or member 'start' not described in 'collapse_shmem' mm/khugepaged.c:1336: warning: Function parameter or member 'hpage' not described in 'collapse_shmem' mm/khugepaged.c:1336: warning: Function parameter or member 'node' not described in 'collapse_shmem' >> mm/khugepaged.c:1336: warning: Function parameter or member 'reliable' not described in 'collapse_shmem' vim +1336 mm/khugepaged.c f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1314 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1315 /** f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1316 * collapse_shmem - collapse small tmpfs/shmem pages into huge one. f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1317 * f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1318 * Basic scheme is simple, details are more complex: af24c01831e4e2 Hugh Dickins 2018-11-30 1319 * - allocate and lock a new huge page; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1320 * - scan over radix tree replacing old pages the new one f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1321 * + swap in pages if necessary; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1322 * + fill in gaps; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1323 * + keep old pages around in case if rollback is required; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1324 * - if replacing succeed: f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1325 * + copy data over; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1326 * + free old pages; af24c01831e4e2 Hugh Dickins 2018-11-30 1327 * + unlock huge page; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1328 * - if replacing failed; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1329 * + put all pages back and unfreeze them; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1330 * + restore gaps in the radix-tree; af24c01831e4e2 Hugh Dickins 2018-11-30 1331 * + unlock and free huge page; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1332 */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1333 static void collapse_shmem(struct mm_struct *mm, f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1334 struct address_space *mapping, pgoff_t start, ff0fb9e816fac2 Ma Wupeng 2022-02-09 1335 struct page **hpage, int node, bool reliable) f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 @1336 { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1337 gfp_t gfp; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1338 struct page *page, *new_page, *tmp; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1339 struct mem_cgroup *memcg; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1340 pgoff_t index, end = start + HPAGE_PMD_NR; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1341 LIST_HEAD(pagelist); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1342 struct radix_tree_iter iter; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1343 void **slot; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1344 int nr_none = 0, result = SCAN_SUCCEED; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1345 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1346 VM_BUG_ON(start & (HPAGE_PMD_NR - 1)); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1347 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1348 /* Only allocate from the target node */ 41b6167e8f746b Michal Hocko 2017-01-10 1349 gfp = alloc_hugepage_khugepaged_gfpmask() | __GFP_THISNODE; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1350 ff0fb9e816fac2 Ma Wupeng 2022-02-09 1351 if (reliable) ff0fb9e816fac2 Ma Wupeng 2022-02-09 1352 gfp |= ___GFP_RELIABILITY; ff0fb9e816fac2 Ma Wupeng 2022-02-09 1353 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1354 new_page = khugepaged_alloc_page(hpage, gfp, node); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1355 if (!new_page) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1356 result = SCAN_ALLOC_HUGE_PAGE_FAIL; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1357 goto out; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1358 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1359 2a70f6a76bb86d Michal Hocko 2018-04-10 1360 if (unlikely(mem_cgroup_try_charge(new_page, mm, gfp, &memcg, true))) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1361 result = SCAN_CGROUP_CHARGE_FAIL; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1362 goto out; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1363 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1364 3e9646c76cb91d Hugh Dickins 2018-11-30 1365 __SetPageLocked(new_page); 3e9646c76cb91d Hugh Dickins 2018-11-30 1366 __SetPageSwapBacked(new_page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1367 new_page->index = start; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1368 new_page->mapping = mapping; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1369 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1370 /* af24c01831e4e2 Hugh Dickins 2018-11-30 1371 * At this point the new_page is locked and not up-to-date. af24c01831e4e2 Hugh Dickins 2018-11-30 1372 * It's safe to insert it into the page cache, because nobody would af24c01831e4e2 Hugh Dickins 2018-11-30 1373 * be able to map it or use it in another way until we unlock it. f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1374 */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1375 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1376 index = start; b93b016313b3ba Matthew Wilcox 2018-04-10 1377 xa_lock_irq(&mapping->i_pages); b93b016313b3ba Matthew Wilcox 2018-04-10 1378 radix_tree_for_each_slot(slot, &mapping->i_pages, &iter, start) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1379 int n = min(iter.index, end) - index; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1380 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1381 /* 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1382 * Stop if extent has been hole-punched, and is now completely 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1383 * empty (the more obvious i_size_read() check would take an 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1384 * irq-unsafe seqlock on 32-bit). 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1385 */ 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1386 if (n >= HPAGE_PMD_NR) { 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1387 result = SCAN_TRUNCATED; 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1388 goto tree_locked; 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1389 } 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1390 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1391 /* f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1392 * Handle holes in the radix tree: charge it from shmem and f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1393 * insert relevant subpage of new_page into the radix-tree. f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1394 */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1395 if (n && !shmem_charge(mapping->host, n)) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1396 result = SCAN_FAIL; 3e9646c76cb91d Hugh Dickins 2018-11-30 1397 goto tree_locked; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1398 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1399 for (; index < min(iter.index, end); index++) { b93b016313b3ba Matthew Wilcox 2018-04-10 1400 radix_tree_insert(&mapping->i_pages, index, f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1401 new_page + (index % HPAGE_PMD_NR)); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1402 } 3e9646c76cb91d Hugh Dickins 2018-11-30 1403 nr_none += n; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1404 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1405 /* We are done. */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1406 if (index >= end) f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1407 break; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1408 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1409 page = radix_tree_deref_slot_protected(slot, b93b016313b3ba Matthew Wilcox 2018-04-10 1410 &mapping->i_pages.xa_lock); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1411 if (radix_tree_exceptional_entry(page) || !PageUptodate(page)) { b93b016313b3ba Matthew Wilcox 2018-04-10 1412 xa_unlock_irq(&mapping->i_pages); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1413 /* swap in or instantiate fallocated page */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1414 if (shmem_getpage(mapping->host, index, &page, f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1415 SGP_NOHUGE)) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1416 result = SCAN_FAIL; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1417 goto tree_unlocked; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1418 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1419 } else if (trylock_page(page)) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1420 get_page(page); 3e9646c76cb91d Hugh Dickins 2018-11-30 1421 xa_unlock_irq(&mapping->i_pages); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1422 } else { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1423 result = SCAN_PAGE_LOCK; 3e9646c76cb91d Hugh Dickins 2018-11-30 1424 goto tree_locked; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1425 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1426 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1427 /* b93b016313b3ba Matthew Wilcox 2018-04-10 1428 * The page must be locked, so we can drop the i_pages lock f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1429 * without racing with truncate. f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1430 */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1431 VM_BUG_ON_PAGE(!PageLocked(page), page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1432 VM_BUG_ON_PAGE(!PageUptodate(page), page); 8b37c40503eadc Hugh Dickins 2018-11-30 1433 8b37c40503eadc Hugh Dickins 2018-11-30 1434 /* 8b37c40503eadc Hugh Dickins 2018-11-30 1435 * If file was truncated then extended, or hole-punched, before 8b37c40503eadc Hugh Dickins 2018-11-30 1436 * we locked the first page, then a THP might be there already. 8b37c40503eadc Hugh Dickins 2018-11-30 1437 */ 8b37c40503eadc Hugh Dickins 2018-11-30 1438 if (PageTransCompound(page)) { 8b37c40503eadc Hugh Dickins 2018-11-30 1439 result = SCAN_PAGE_COMPOUND; 8b37c40503eadc Hugh Dickins 2018-11-30 1440 goto out_unlock; 8b37c40503eadc Hugh Dickins 2018-11-30 1441 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1442 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1443 if (page_mapping(page) != mapping) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1444 result = SCAN_TRUNCATED; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1445 goto out_unlock; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1446 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1447 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1448 if (isolate_lru_page(page)) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1449 result = SCAN_DEL_PAGE_LRU; 3e9646c76cb91d Hugh Dickins 2018-11-30 1450 goto out_unlock; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1451 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1452 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1453 if (page_mapped(page)) 977fbdcd5986c9 Matthew Wilcox 2018-01-31 1454 unmap_mapping_pages(mapping, index, 1, false); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1455 b93b016313b3ba Matthew Wilcox 2018-04-10 1456 xa_lock_irq(&mapping->i_pages); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1457 b93b016313b3ba Matthew Wilcox 2018-04-10 1458 slot = radix_tree_lookup_slot(&mapping->i_pages, index); 91a45f71078a65 Johannes Weiner 2016-12-12 1459 VM_BUG_ON_PAGE(page != radix_tree_deref_slot_protected(slot, b93b016313b3ba Matthew Wilcox 2018-04-10 1460 &mapping->i_pages.xa_lock), page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1461 VM_BUG_ON_PAGE(page_mapped(page), page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1462 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1463 /* f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1464 * The page is expected to have page_count() == 3: f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1465 * - we hold a pin on it; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1466 * - one reference from radix tree; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1467 * - one from isolate_lru_page; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1468 */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1469 if (!page_ref_freeze(page, 3)) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1470 result = SCAN_PAGE_COUNT; 3e9646c76cb91d Hugh Dickins 2018-11-30 1471 xa_unlock_irq(&mapping->i_pages); 3e9646c76cb91d Hugh Dickins 2018-11-30 1472 putback_lru_page(page); 3e9646c76cb91d Hugh Dickins 2018-11-30 1473 goto out_unlock; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1474 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1475 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1476 /* f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1477 * Add the page to the list to be able to undo the collapse if f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1478 * something go wrong. f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1479 */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1480 list_add_tail(&page->lru, &pagelist); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1481 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1482 /* Finally, replace with the new page. */ b93b016313b3ba Matthew Wilcox 2018-04-10 1483 radix_tree_replace_slot(&mapping->i_pages, slot, f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1484 new_page + (index % HPAGE_PMD_NR)); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1485 148deab223b237 Matthew Wilcox 2016-12-14 1486 slot = radix_tree_iter_resume(slot, &iter); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1487 index++; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1488 continue; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1489 out_unlock: f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1490 unlock_page(page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1491 put_page(page); 3e9646c76cb91d Hugh Dickins 2018-11-30 1492 goto tree_unlocked; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1493 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1494 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1495 /* f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1496 * Handle hole in radix tree at the end of the range. f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1497 * This code only triggers if there's nothing in radix tree f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1498 * beyond 'end'. f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1499 */ 3e9646c76cb91d Hugh Dickins 2018-11-30 1500 if (index < end) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1501 int n = end - index; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1502 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1503 /* Stop if extent has been truncated, and is now empty */ 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1504 if (n >= HPAGE_PMD_NR) { 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1505 result = SCAN_TRUNCATED; 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1506 goto tree_locked; 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1507 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1508 if (!shmem_charge(mapping->host, n)) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1509 result = SCAN_FAIL; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1510 goto tree_locked; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1511 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1512 for (; index < end; index++) { b93b016313b3ba Matthew Wilcox 2018-04-10 1513 radix_tree_insert(&mapping->i_pages, index, f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1514 new_page + (index % HPAGE_PMD_NR)); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1515 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1516 nr_none += n; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1517 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1518 3e9646c76cb91d Hugh Dickins 2018-11-30 1519 __inc_node_page_state(new_page, NR_SHMEM_THPS); 3e9646c76cb91d Hugh Dickins 2018-11-30 1520 if (nr_none) { 3e9646c76cb91d Hugh Dickins 2018-11-30 1521 struct zone *zone = page_zone(new_page); 3e9646c76cb91d Hugh Dickins 2018-11-30 1522 3e9646c76cb91d Hugh Dickins 2018-11-30 1523 __mod_node_page_state(zone->zone_pgdat, NR_FILE_PAGES, nr_none); 3e9646c76cb91d Hugh Dickins 2018-11-30 1524 __mod_node_page_state(zone->zone_pgdat, NR_SHMEM, nr_none); 3e9646c76cb91d Hugh Dickins 2018-11-30 1525 } 3e9646c76cb91d Hugh Dickins 2018-11-30 1526 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1527 tree_locked: b93b016313b3ba Matthew Wilcox 2018-04-10 1528 xa_unlock_irq(&mapping->i_pages); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1529 tree_unlocked: f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1530 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1531 if (result == SCAN_SUCCEED) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1532 /* f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1533 * Replacing old pages with new one has succeed, now we need to f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1534 * copy the content and free old pages. f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1535 */ ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1536 index = start; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1537 list_for_each_entry_safe(page, tmp, &pagelist, lru) { ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1538 while (index < page->index) { ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1539 clear_highpage(new_page + (index % HPAGE_PMD_NR)); ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1540 index++; ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1541 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1542 copy_highpage(new_page + (page->index % HPAGE_PMD_NR), f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1543 page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1544 list_del(&page->lru); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1545 page->mapping = NULL; 3e9646c76cb91d Hugh Dickins 2018-11-30 1546 page_ref_unfreeze(page, 1); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1547 ClearPageActive(page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1548 ClearPageUnevictable(page); 3e9646c76cb91d Hugh Dickins 2018-11-30 1549 unlock_page(page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1550 put_page(page); ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1551 index++; ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1552 } ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1553 while (index < end) { ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1554 clear_highpage(new_page + (index % HPAGE_PMD_NR)); ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1555 index++; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1556 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1557 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1558 SetPageUptodate(new_page); af24c01831e4e2 Hugh Dickins 2018-11-30 1559 page_ref_add(new_page, HPAGE_PMD_NR - 1); 3e9646c76cb91d Hugh Dickins 2018-11-30 1560 set_page_dirty(new_page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1561 mem_cgroup_commit_charge(new_page, memcg, false, true); 9d5425af85abe3 Chris Down 2021-06-30 1562 count_memcg_events(memcg, THP_COLLAPSE_ALLOC, 1); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1563 lru_cache_add_anon(new_page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1564 3e9646c76cb91d Hugh Dickins 2018-11-30 1565 /* 3e9646c76cb91d Hugh Dickins 2018-11-30 1566 * Remove pte page tables, so we can re-fault the page as huge. 3e9646c76cb91d Hugh Dickins 2018-11-30 1567 */ 3e9646c76cb91d Hugh Dickins 2018-11-30 1568 retract_page_tables(mapping, start); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1569 *hpage = NULL; 87aa752906ecf6 Yang Shi 2018-08-17 1570 87aa752906ecf6 Yang Shi 2018-08-17 1571 khugepaged_pages_collapsed++; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1572 } else { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1573 /* Something went wrong: rollback changes to the radix-tree */ b93b016313b3ba Matthew Wilcox 2018-04-10 1574 xa_lock_irq(&mapping->i_pages); 78141aabfbb956 Hugh Dickins 2018-11-30 1575 mapping->nrpages -= nr_none; 78141aabfbb956 Hugh Dickins 2018-11-30 1576 shmem_uncharge(mapping->host, nr_none); 78141aabfbb956 Hugh Dickins 2018-11-30 1577 b93b016313b3ba Matthew Wilcox 2018-04-10 1578 radix_tree_for_each_slot(slot, &mapping->i_pages, &iter, start) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1579 if (iter.index >= end) f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1580 break; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1581 page = list_first_entry_or_null(&pagelist, f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1582 struct page, lru); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1583 if (!page || iter.index < page->index) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1584 if (!nr_none) f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1585 break; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1586 nr_none--; 59749e6ce53735 Johannes Weiner 2016-12-12 1587 /* Put holes back where they were */ b93b016313b3ba Matthew Wilcox 2018-04-10 1588 radix_tree_delete(&mapping->i_pages, iter.index); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1589 continue; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1590 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1591 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1592 VM_BUG_ON_PAGE(page->index != iter.index, page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1593 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1594 /* Unfreeze the page. */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1595 list_del(&page->lru); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1596 page_ref_unfreeze(page, 2); b93b016313b3ba Matthew Wilcox 2018-04-10 1597 radix_tree_replace_slot(&mapping->i_pages, slot, page); 148deab223b237 Matthew Wilcox 2016-12-14 1598 slot = radix_tree_iter_resume(slot, &iter); b93b016313b3ba Matthew Wilcox 2018-04-10 1599 xa_unlock_irq(&mapping->i_pages); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1600 unlock_page(page); 3e9646c76cb91d Hugh Dickins 2018-11-30 1601 putback_lru_page(page); b93b016313b3ba Matthew Wilcox 2018-04-10 1602 xa_lock_irq(&mapping->i_pages); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1603 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1604 VM_BUG_ON(nr_none); b93b016313b3ba Matthew Wilcox 2018-04-10 1605 xa_unlock_irq(&mapping->i_pages); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1606 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1607 mem_cgroup_cancel_charge(new_page, memcg, true); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1608 new_page->mapping = NULL; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1609 } 3e9646c76cb91d Hugh Dickins 2018-11-30 1610 3e9646c76cb91d Hugh Dickins 2018-11-30 1611 unlock_page(new_page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1612 out: f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1613 VM_BUG_ON(!list_empty(&pagelist)); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1614 /* TODO: tracepoints */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1615 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1616 :::::: The code at line 1336 was first introduced by commit :::::: f3f0e1d2150b2b99da2cbdfaad000089efe9bf30 khugepaged: add support of collapse for tmpfs/shmem pages :::::: TO: Kirill A. Shutemov <kirill.shutemov(a)linux.intel.com> :::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3541/3541] drivers/acpi/pptt.c:309:5: warning: no previous prototype for 'acpi_pptt_for_each_container'
by kernel test robot 13 Dec '25

13 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: cd9eb9b4365b71652b2c2ac58293bea47c9f9302 commit: 1ab6383ee94e788fe424d7eac10dc8ec3bfa6828 [3541/3541] ACPI / PPTT: Provide a helper to walk processor containers config: arm64-defconfig (https://download.01.org/0day-ci/archive/20251213/202512130728.UiRm4V7I-lkp@…) compiler: aarch64-linux-gcc (GCC) 15.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251213/202512130728.UiRm4V7I-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512130728.UiRm4V7I-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/acpi/pptt.c:309:5: warning: no previous prototype for 'acpi_pptt_for_each_container' [-Wmissing-prototypes] 309 | int acpi_pptt_for_each_container(acpi_pptt_cpu_callback_t callback, void *arg) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ vim +/acpi_pptt_for_each_container +309 drivers/acpi/pptt.c 297 298 /** 299 * acpi_pptt_for_each_container() - Iterate over all processor containers 300 * 301 * Not all 'Processor' entries in the PPTT are either a CPU or a Processor 302 * Container, they may exist purely to describe a Private resource. CPUs 303 * have to be leaves, so a Processor Container is a non-leaf that has the 304 * 'ACPI Processor ID valid' flag set. 305 * 306 * Return: 0 for a complete walk, or the first non-zero value from the callback 307 * that stopped the walk. 308 */ > 309 int acpi_pptt_for_each_container(acpi_pptt_cpu_callback_t callback, void *arg) 310 { 311 struct acpi_pptt_processor *cpu_node; 312 struct acpi_table_header *table_hdr; 313 struct acpi_subtable_header *entry; 314 bool leaf_flag, has_leaf_flag = false; 315 unsigned long table_end; 316 acpi_status status; 317 u32 proc_sz; 318 int ret = 0; 319 320 status = acpi_get_table(ACPI_SIG_PPTT, 0, &table_hdr); 321 if (ACPI_FAILURE(status)) 322 return 0; 323 324 if (table_hdr->revision > 1) 325 has_leaf_flag = true; 326 327 table_end = (unsigned long)table_hdr + table_hdr->length; 328 entry = ACPI_ADD_PTR(struct acpi_subtable_header, table_hdr, 329 sizeof(struct acpi_table_pptt)); 330 proc_sz = sizeof(struct acpi_pptt_processor); 331 while ((unsigned long)entry + proc_sz < table_end) { 332 cpu_node = (struct acpi_pptt_processor *)entry; 333 if (entry->type == ACPI_PPTT_TYPE_PROCESSOR && 334 cpu_node->flags & ACPI_PPTT_ACPI_PROCESSOR_ID_VALID) 335 { 336 leaf_flag = cpu_node->flags & ACPI_PPTT_ACPI_LEAF_NODE; 337 if ((has_leaf_flag && !leaf_flag) || 338 (!has_leaf_flag && !acpi_pptt_leaf_node(table_hdr, cpu_node))) 339 { 340 ret = callback(cpu_node, arg); 341 if (ret) 342 break; 343 } 344 } 345 entry = ACPI_ADD_PTR(struct acpi_subtable_header, entry, 346 entry->length); 347 } 348 349 acpi_put_table(table_hdr); 350 351 return ret; 352 } 353 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3541/3541] fs/xfs/libxfs/xfs_alloc.c:102:1: sparse: sparse: symbol 'xfs_ag_fixup_aside' was not declared. Should it be static?
by kernel test robot 13 Dec '25

13 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: cd9eb9b4365b71652b2c2ac58293bea47c9f9302 commit: 8c6e9756375dff2e96d3b598992b2f0e8b3682ee [3541/3541] xfs: fix xfs shutdown since we reserve more blocks in agfl fixup config: x86_64-randconfig-r134-20251213 (https://download.01.org/0day-ci/archive/20251213/202512130739.rii7QdtB-lkp@…) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251213/202512130739.rii7QdtB-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512130739.rii7QdtB-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> fs/xfs/libxfs/xfs_alloc.c:102:1: sparse: sparse: symbol 'xfs_ag_fixup_aside' was not declared. Should it be static? vim +/xfs_ag_fixup_aside +102 fs/xfs/libxfs/xfs_alloc.c 94 95 /* 96 * Twice fixup for the same ag may happen within exact one tp, and the consume 97 * of agfl after first fixup may trigger second fixup's failure, then xfs will 98 * shutdown. To avoid that, we reserve blocks which can satisfy the second 99 * fixup. 100 */ 101 xfs_extlen_t > 102 xfs_ag_fixup_aside( 103 struct xfs_mount *mp) 104 { 105 xfs_extlen_t ret; 106 107 ret = 2 * mp->m_alloc_maxlevels; 108 if (xfs_has_rmapbt(mp)) 109 ret += mp->m_rmap_maxlevels; 110 111 return ret; 112 } 113 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3541/3541] drivers/cpuinspect/sysfs.c:98:9: warning: no previous prototype for 'cpu_utility_show'
by kernel test robot 13 Dec '25

13 Dec '25
Hi Yu, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: cd9eb9b4365b71652b2c2ac58293bea47c9f9302 commit: d91c6db8ca896824da23aab69dde9ce289222299 [3541/3541] cpuinspect: add CPU-inspect infrastructure config: x86_64-randconfig-r122-20251213 (https://download.01.org/0day-ci/archive/20251213/202512130602.wgKjB7EZ-lkp@…) compiler: gcc-14 (Debian 14.2.0-19) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251213/202512130602.wgKjB7EZ-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512130602.wgKjB7EZ-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/cpuinspect/sysfs.c:92:9: warning: no previous prototype for 'patrol_complete_show' [-Wmissing-prototypes] 92 | ssize_t patrol_complete_show(struct device *dev, struct device_attribute *attr, | ^~~~~~~~~~~~~~~~~~~~ >> drivers/cpuinspect/sysfs.c:98:9: warning: no previous prototype for 'cpu_utility_show' [-Wmissing-prototypes] 98 | ssize_t cpu_utility_show(struct device *dev, struct device_attribute *attr, | ^~~~~~~~~~~~~~~~ >> drivers/cpuinspect/sysfs.c:104:9: warning: no previous prototype for 'cpu_utility_store' [-Wmissing-prototypes] 104 | ssize_t cpu_utility_store(struct device *dev, struct device_attribute *attr, | ^~~~~~~~~~~~~~~~~ drivers/cpuinspect/sysfs.c:117:9: warning: no previous prototype for 'patrol_times_show' [-Wmissing-prototypes] 117 | ssize_t patrol_times_show(struct device *dev, struct device_attribute *attr, | ^~~~~~~~~~~~~~~~~ >> drivers/cpuinspect/sysfs.c:123:9: warning: no previous prototype for 'patrol_times_store' [-Wmissing-prototypes] 123 | ssize_t patrol_times_store(struct device *dev, struct device_attribute *attr, | ^~~~~~~~~~~~~~~~~~ >> drivers/cpuinspect/sysfs.c:139:9: warning: no previous prototype for 'start_patrol_store' [-Wmissing-prototypes] 139 | ssize_t start_patrol_store(struct device *dev, struct device_attribute *attr, | ^~~~~~~~~~~~~~~~~~ vim +/cpu_utility_show +98 drivers/cpuinspect/sysfs.c 97 > 98 ssize_t cpu_utility_show(struct device *dev, struct device_attribute *attr, 99 char *buf) 100 { 101 return sprintf(buf, "%u\n", ci_core.cpu_utility); 102 } 103 > 104 ssize_t cpu_utility_store(struct device *dev, struct device_attribute *attr, 105 const char *buf, size_t size) 106 { 107 unsigned int cpu_util; 108 109 if (kstrtouint(buf, 10, &cpu_util) || cpu_util < 1 || cpu_util > 100) 110 return -EINVAL; 111 112 ci_core.cpu_utility = cpu_util; 113 114 return size; 115 } 116 117 ssize_t patrol_times_show(struct device *dev, struct device_attribute *attr, 118 char *buf) 119 { 120 return sprintf(buf, "%lu\n", ci_core.inspect_times); 121 } 122 > 123 ssize_t patrol_times_store(struct device *dev, struct device_attribute *attr, 124 const char *buf, size_t size) 125 { 126 /* 127 * It is not allowed to modify patrol times during the CPU 128 * inspection operation. 129 */ 130 if (ci_core.inspect_on) 131 return -EBUSY; 132 133 if (kstrtoul(buf, 10, &ci_core.inspect_times)) 134 return -EINVAL; 135 136 return size; 137 } 138 > 139 ssize_t start_patrol_store(struct device *dev, struct device_attribute *attr, 140 const char *buf, size_t size) 141 { 142 bool start_patrol = false; 143 144 if (strtobool(buf, &start_patrol) < 0) 145 return -EINVAL; 146 147 if (!mutex_trylock(&cpuinspect_lock)) 148 return -EBUSY; 149 150 /* 151 * It is not allowed to start the inspection again during the 152 * inspection process. 153 */ 154 if (start_patrol && (int) start_patrol == ci_core.inspect_on) { 155 mutex_unlock(&cpuinspect_lock); 156 return -EBUSY; 157 } 158 159 if (start_patrol == 0) 160 stop_inspect_threads(); 161 else if (curr_cpu_inspector) 162 start_inspect_threads(); 163 164 mutex_unlock(&cpuinspect_lock); 165 return size; 166 } 167 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1941/1941] mm/ioremap.o: warning: objtool: missing symbol for section .text
by kernel test robot 13 Dec '25

13 Dec '25
Hi Nicholas, First bad commit (maybe != root cause): tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: df8d11fbcbb07177c2500e63d7f5a36063977596 commit: 004cface9c1c0b6351473934a4ce452193e05b07 [1941/1941] mm: Move vmap_range from mm/ioremap.c to mm/vmalloc.c config: x86_64-buildonly-randconfig-004-20251212 (https://download.01.org/0day-ci/archive/20251213/202512130605.0REtc4uw-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251213/202512130605.0REtc4uw-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512130605.0REtc4uw-lkp@intel.com/ All warnings (new ones prefixed by >>): >> mm/ioremap.o: warning: objtool: missing symbol for section .text -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1941/1941] net/netfilter/nf_nat_proto.c:56:6: warning: no previous prototype for function 'nf_nat_csum_recalc'
by kernel test robot 13 Dec '25

13 Dec '25
Hi Florian, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: df8d11fbcbb07177c2500e63d7f5a36063977596 commit: 83abe3a3b85762720192809ac8695ff9255cfd23 [1941/1941] netfilter: nat: remove csum_recalc hook config: x86_64-rhel-9.4-rust (https://download.01.org/0day-ci/archive/20251213/202512130517.YGb86X1A-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 6ec8c4351cfc1d0627d1633b02ea787bd29c77d8) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251213/202512130517.YGb86X1A-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512130517.YGb86X1A-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from net/netfilter/nf_nat_proto.c:12: In file included from include/net/ip6_route.h:24: include/net/ip6_fib.h:228:10: warning: default initialization of an object of type 'typeof (f6i->expires)' (aka 'const unsigned long') leaves the object uninitialized [-Wdefault-const-init-var-unsafe] 228 | return time_after(jiffies, f6i->expires); | ^ include/linux/jiffies.h:107:3: note: expanded from macro 'time_after' 107 | typecheck(unsigned long, b) && \ | ^ include/linux/typecheck.h:11:12: note: expanded from macro 'typecheck' 11 | typeof(x) __dummy2; \ | ^ >> net/netfilter/nf_nat_proto.c:56:6: warning: no previous prototype for function 'nf_nat_csum_recalc' [-Wmissing-prototypes] 56 | void nf_nat_csum_recalc(struct sk_buff *skb, | ^ net/netfilter/nf_nat_proto.c:56:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 56 | void nf_nat_csum_recalc(struct sk_buff *skb, | ^ | static 2 warnings generated. vim +/nf_nat_csum_recalc +56 net/netfilter/nf_nat_proto.c 55 > 56 void nf_nat_csum_recalc(struct sk_buff *skb, -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1941/1941] mm/kmemleak.c:434:4: error: implicit declaration of function 'printk_safe_exit'; did you mean 'printk_nmi_exit'?
by kernel test robot 13 Dec '25

13 Dec '25
Hi Gu, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: df8d11fbcbb07177c2500e63d7f5a36063977596 commit: 38f093f2876aaa0dd46e11d638e8d2a263f38199 [1941/1941] mm: Fix possible deadlock in console_trylock_spinning config: arm64-randconfig-002-20251212 (https://download.01.org/0day-ci/archive/20251213/202512130502.2LxTdCek-lkp@…) compiler: aarch64-linux-gcc (GCC) 7.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251213/202512130502.2LxTdCek-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512130502.2LxTdCek-lkp@intel.com/ All errors (new ones prefixed by >>): mm/kmemleak.c: In function 'lookup_object': mm/kmemleak.c:430:4: error: implicit declaration of function 'printk_safe_enter'; did you mean 'printk_nmi_enter'? [-Werror=implicit-function-declaration] printk_safe_enter(); ^~~~~~~~~~~~~~~~~ printk_nmi_enter >> mm/kmemleak.c:434:4: error: implicit declaration of function 'printk_safe_exit'; did you mean 'printk_nmi_exit'? [-Werror=implicit-function-declaration] printk_safe_exit(); ^~~~~~~~~~~~~~~~ printk_nmi_exit cc1: some warnings being treated as errors vim +434 mm/kmemleak.c 405 406 /* 407 * Look-up a memory block metadata (kmemleak_object) in the object search 408 * tree based on a pointer value. If alias is 0, only values pointing to the 409 * beginning of the memory block are allowed. The kmemleak_lock must be held 410 * when calling this function. 411 */ 412 static struct kmemleak_object *lookup_object(unsigned long ptr, int alias) 413 { 414 struct rb_node *rb = object_tree_root.rb_node; 415 416 while (rb) { 417 struct kmemleak_object *object = 418 rb_entry(rb, struct kmemleak_object, rb_node); 419 if (ptr < object->pointer) 420 rb = object->rb_node.rb_left; 421 else if (object->pointer + object->size <= ptr) 422 rb = object->rb_node.rb_right; 423 else if (object->pointer == ptr || alias) 424 return object; 425 else { 426 /* 427 * Printk deferring due to the kmemleak_lock held. 428 * This is done to avoid deadlock. 429 */ 430 printk_safe_enter(); 431 kmemleak_warn("Found object by alias at 0x%08lx\n", 432 ptr); 433 dump_object_info(object); > 434 printk_safe_exit(); 435 436 break; 437 } 438 } 439 return NULL; 440 } 441 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1941/1941] mm/vmalloc.c:217:23: warning: variable 'start' set but not used
by kernel test robot 13 Dec '25

13 Dec '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: df8d11fbcbb07177c2500e63d7f5a36063977596 commit: 3eb01faed2ebb254019a3bb72ce3bdf4d0a9be74 [1941/1941] mm/vmalloc: add vmap_range_noflush variant config: arm64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20251212/202512122201.xknqnJbC-lkp@…) compiler: aarch64-linux-gcc (GCC) 15.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251212/202512122201.xknqnJbC-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512122201.xknqnJbC-lkp@intel.com/ All warnings (new ones prefixed by >>): mm/vmalloc.c: In function 'vmap_range_noflush': >> mm/vmalloc.c:217:23: warning: variable 'start' set but not used [-Wunused-but-set-variable] 217 | unsigned long start; | ^~~~~ mm/vmalloc.c: At top level: mm/vmalloc.c:1417:6: warning: no previous prototype for 'set_iounmap_nonlazy' [-Wmissing-prototypes] 1417 | void set_iounmap_nonlazy(void) | ^~~~~~~~~~~~~~~~~~~ mm/vmalloc.c:3188: warning: Function parameter or member 'align' not described in 'pvm_determine_end_from_reverse' vim +/start +217 mm/vmalloc.c 004cface9c1c0b Nicholas Piggin 2021-10-29 211 3eb01faed2ebb2 Nicholas Piggin 2021-10-29 212 static int vmap_range_noflush(unsigned long addr, unsigned long end, 004cface9c1c0b Nicholas Piggin 2021-10-29 213 phys_addr_t phys_addr, pgprot_t prot, 004cface9c1c0b Nicholas Piggin 2021-10-29 214 unsigned int max_page_shift) 004cface9c1c0b Nicholas Piggin 2021-10-29 215 { 004cface9c1c0b Nicholas Piggin 2021-10-29 216 pgd_t *pgd; 004cface9c1c0b Nicholas Piggin 2021-10-29 @217 unsigned long start; 004cface9c1c0b Nicholas Piggin 2021-10-29 218 unsigned long next; 004cface9c1c0b Nicholas Piggin 2021-10-29 219 int err; 004cface9c1c0b Nicholas Piggin 2021-10-29 220 004cface9c1c0b Nicholas Piggin 2021-10-29 221 might_sleep(); 004cface9c1c0b Nicholas Piggin 2021-10-29 222 BUG_ON(addr >= end); 004cface9c1c0b Nicholas Piggin 2021-10-29 223 004cface9c1c0b Nicholas Piggin 2021-10-29 224 start = addr; 004cface9c1c0b Nicholas Piggin 2021-10-29 225 pgd = pgd_offset_k(addr); 004cface9c1c0b Nicholas Piggin 2021-10-29 226 do { 004cface9c1c0b Nicholas Piggin 2021-10-29 227 next = pgd_addr_end(addr, end); 004cface9c1c0b Nicholas Piggin 2021-10-29 228 err = vmap_p4d_range(pgd, addr, next, phys_addr, prot, max_page_shift); 004cface9c1c0b Nicholas Piggin 2021-10-29 229 if (err) 004cface9c1c0b Nicholas Piggin 2021-10-29 230 break; 004cface9c1c0b Nicholas Piggin 2021-10-29 231 } while (pgd++, phys_addr += (next - addr), addr = next, addr != end); 004cface9c1c0b Nicholas Piggin 2021-10-29 232 3eb01faed2ebb2 Nicholas Piggin 2021-10-29 233 return err; 3eb01faed2ebb2 Nicholas Piggin 2021-10-29 234 } 3eb01faed2ebb2 Nicholas Piggin 2021-10-29 235 :::::: The code at line 217 was first introduced by commit :::::: 004cface9c1c0b6351473934a4ce452193e05b07 mm: Move vmap_range from mm/ioremap.c to mm/vmalloc.c :::::: TO: Nicholas Piggin <npiggin(a)gmail.com> :::::: CC: Yang Yingliang <yangyingliang(a)huawei.com> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3541/3541] drivers/crypto/ccp/hygon/vpsp.c:589:6: warning: no previous prototype for function 'vpsp_set_default_vid_permission'
by kernel test robot 13 Dec '25

13 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: cd9eb9b4365b71652b2c2ac58293bea47c9f9302 commit: e2861aaa47961017ada7f66de11104bbf3b85eb1 [3541/3541] crypto: ccp: move vpsp-related functions to vpsp.c config: x86_64-randconfig-101-20251212 (https://download.01.org/0day-ci/archive/20251213/202512130435.BO31TiNF-lkp@…) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251213/202512130435.BO31TiNF-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512130435.BO31TiNF-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/crypto/ccp/hygon/vpsp.c:589:6: warning: no previous prototype for function 'vpsp_set_default_vid_permission' [-Wmissing-prototypes] 589 | void vpsp_set_default_vid_permission(uint32_t is_allow) | ^ drivers/crypto/ccp/hygon/vpsp.c:589:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 589 | void vpsp_set_default_vid_permission(uint32_t is_allow) | ^ | static drivers/crypto/ccp/hygon/vpsp.c:1055:5: warning: no previous prototype for function 'vpsp_do_cmd' [-Wmissing-prototypes] 1055 | int vpsp_do_cmd(int cmd, phys_addr_t phy_addr, int *psp_ret) | ^ drivers/crypto/ccp/hygon/vpsp.c:1055:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 1055 | int vpsp_do_cmd(int cmd, phys_addr_t phy_addr, int *psp_ret) | ^ | static 2 warnings generated. Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for PTP_1588_CLOCK Depends on [n]: NET [=y] && POSIX_TIMERS [=n] Selected by [m]: - SXE [=m] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_LINKDATA [=y] && (X86 [=y] || ARM64) && PCI [=y] - SXE_VF [=m] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_LINKDATA [=y] && (X86 [=y] || ARM64) && PCI [=y] vim +/vpsp_set_default_vid_permission +589 drivers/crypto/ccp/hygon/vpsp.c 582 583 /** 584 * When 'allow_default_vid' is set to 1, 585 * QEMU is allowed to use 'vid 0' by default 586 * in the absence of a valid 'vid' setting. 587 */ 588 uint32_t allow_default_vid = 1; > 589 void vpsp_set_default_vid_permission(uint32_t is_allow) 590 { 591 allow_default_vid = is_allow; 592 } 593 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3541/3541] drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:2540:29: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot 13 Dec '25

13 Dec '25
Hi Bennie, First bad commit (maybe != root cause): tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: cd9eb9b4365b71652b2c2ac58293bea47c9f9302 commit: 69181c3c9413ccaa4dab458057d13efda520cb60 [3541/3541] Net: nebula_matrix: fix ci build warning config: x86_64-randconfig-121-20251212 (https://download.01.org/0day-ci/archive/20251213/202512130423.1ubNFGvk-lkp@…) compiler: gcc-14 (Debian 14.2.0-19) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251213/202512130423.1ubNFGvk-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512130423.1ubNFGvk-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:32:5: sparse: sparse: symbol 'nbl_serv_setup_queues' was not declared. Should it be static? drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:68:6: sparse: sparse: symbol 'nbl_serv_flush_rx_queues' was not declared. Should it be static? drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:77:5: sparse: sparse: symbol 'nbl_serv_setup_rings' was not declared. Should it be static? drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:124:6: sparse: sparse: symbol 'nbl_serv_stop_rings' was not declared. Should it be static? drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:2116:6: sparse: sparse: symbol 'nbl_serv_pldmfw_op_pci_match_record' was not declared. Should it be static? drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:2528:38: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void * @@ drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:2528:38: sparse: expected void const [noderef] __user *from drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:2528:38: sparse: got void * >> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:2540:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void * @@ drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:2540:29: sparse: expected void [noderef] __user *to drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:2540:29: sparse: got void * drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:2851:5: sparse: sparse: symbol 'nbl_serv_get_vf_base_vsi_id' was not declared. Should it be static? drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c: note: in included file (through arch/x86/include/asm/uaccess.h, include/linux/uaccess.h, include/linux/sched/task.h, ...): arch/x86/include/asm/uaccess_64.h:88:24: sparse: sparse: cast removes address space '__user' of expression arch/x86/include/asm/uaccess_64.h:88:24: sparse: sparse: cast removes address space '__user' of expression vim +2540 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c bad535d287c9c10 Bennie Yan 2024-09-24 2511 bad535d287c9c10 Bennie Yan 2024-09-24 2512 static int nbl_serv_process_passthrough(struct nbl_service_mgt *serv_mgt, bad535d287c9c10 Bennie Yan 2024-09-24 2513 unsigned int cmd, unsigned long arg) bad535d287c9c10 Bennie Yan 2024-09-24 2514 { bad535d287c9c10 Bennie Yan 2024-09-24 2515 struct nbl_dispatch_ops *disp_ops = NBL_SERV_MGT_TO_DISP_OPS(serv_mgt); bad535d287c9c10 Bennie Yan 2024-09-24 2516 struct nbl_common_info *common = NBL_SERV_MGT_TO_COMMON(serv_mgt); bad535d287c9c10 Bennie Yan 2024-09-24 2517 struct nbl_passthrough_fw_cmd_param *param = NULL, *result = NULL; bad535d287c9c10 Bennie Yan 2024-09-24 2518 int ret = 0; bad535d287c9c10 Bennie Yan 2024-09-24 2519 bad535d287c9c10 Bennie Yan 2024-09-24 2520 param = kzalloc(sizeof(*param), GFP_KERNEL); bad535d287c9c10 Bennie Yan 2024-09-24 2521 if (!param) bad535d287c9c10 Bennie Yan 2024-09-24 2522 goto alloc_param_fail; bad535d287c9c10 Bennie Yan 2024-09-24 2523 bad535d287c9c10 Bennie Yan 2024-09-24 2524 result = kzalloc(sizeof(*result), GFP_KERNEL); bad535d287c9c10 Bennie Yan 2024-09-24 2525 if (!result) bad535d287c9c10 Bennie Yan 2024-09-24 2526 goto alloc_result_fail; bad535d287c9c10 Bennie Yan 2024-09-24 2527 bad535d287c9c10 Bennie Yan 2024-09-24 2528 ret = copy_from_user(param, (void *)arg, _IOC_SIZE(cmd)); bad535d287c9c10 Bennie Yan 2024-09-24 2529 if (ret) { bad535d287c9c10 Bennie Yan 2024-09-24 2530 nbl_err(common, NBL_DEBUG_ST, "Bad access %d.\n", ret); bad535d287c9c10 Bennie Yan 2024-09-24 2531 return ret; bad535d287c9c10 Bennie Yan 2024-09-24 2532 } bad535d287c9c10 Bennie Yan 2024-09-24 2533 bad535d287c9c10 Bennie Yan 2024-09-24 2534 nbl_debug(common, NBL_DEBUG_ST, "Passthough opcode: %d\n", param->opcode); bad535d287c9c10 Bennie Yan 2024-09-24 2535 bad535d287c9c10 Bennie Yan 2024-09-24 2536 ret = disp_ops->passthrough_fw_cmd(NBL_SERV_MGT_TO_DISP_PRIV(serv_mgt), param, result); bad535d287c9c10 Bennie Yan 2024-09-24 2537 if (ret) bad535d287c9c10 Bennie Yan 2024-09-24 2538 goto passthrough_fail; bad535d287c9c10 Bennie Yan 2024-09-24 2539 bad535d287c9c10 Bennie Yan 2024-09-24 @2540 ret = copy_to_user((void *)arg, result, _IOC_SIZE(cmd)); bad535d287c9c10 Bennie Yan 2024-09-24 2541 bad535d287c9c10 Bennie Yan 2024-09-24 2542 passthrough_fail: bad535d287c9c10 Bennie Yan 2024-09-24 2543 kfree(result); bad535d287c9c10 Bennie Yan 2024-09-24 2544 alloc_result_fail: bad535d287c9c10 Bennie Yan 2024-09-24 2545 kfree(param); bad535d287c9c10 Bennie Yan 2024-09-24 2546 alloc_param_fail: bad535d287c9c10 Bennie Yan 2024-09-24 2547 return ret; bad535d287c9c10 Bennie Yan 2024-09-24 2548 } bad535d287c9c10 Bennie Yan 2024-09-24 2549 :::::: The code at line 2540 was first introduced by commit :::::: bad535d287c9c1056d99de3666be7da84de4a8fc Net:nbl_core: Add nbl_core-driver for nebula-matrix S1055AS series smart NIC. :::::: TO: Bennie Yan <bennie.yan(a)nebula-matrix.com> :::::: CC: Bennie Yan <bennie.yan(a)nebula-matrix.com> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
  • ← Newer
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • ...
  • 2193
  • Older →

HyperKitty Powered by HyperKitty