* [openeuler:openEuler-1.0-LTS 1544/1544] mm/share_pool.c:2435:30: error: implicit declaration of function 'huge_pte_none'; did you mean 'huge_pte_lock'?
@ 2025-04-01 16:43 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-04-01 16:43 UTC (permalink / raw)
To: kernel, Yang Yingliang; +Cc: oe-kbuild-all
Hi Weilong,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 54ad6c4559d2bcbb5d7a03050b2f417a326a1ce2
commit: 4e851c2bb53e45d92e266c65cf0c203624e74710 [1544/1544] ascend: share_pool: Use sharepool_no_page to alloc hugepage
config: arm64-randconfig-r131-20250401 (https://download.01.org/0day-ci/archive/20250402/202504020010.TmMNnpc4-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 11.5.0
reproduce: (https://download.01.org/0day-ci/archive/20250402/202504020010.TmMNnpc4-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/202504020010.TmMNnpc4-lkp@intel.com/
All errors (new ones prefixed by >>):
mm/share_pool.c:58:5: sparse: sparse: symbol 'enable_mdc_default_group' was not declared. Should it be static?
mm/share_pool.c:1685:21: sparse: sparse: undefined identifier 'huge_ptep_get'
mm/share_pool.c:1685:34: sparse: sparse: invalid initializer
mm/share_pool.c:2435:30: sparse: sparse: undefined identifier 'huge_pte_none'
mm/share_pool.c:2448:23: sparse: sparse: undefined identifier 'huge_add_to_page_cache'
mm/share_pool.c:2464:14: sparse: sparse: undefined identifier 'huge_pte_none'
mm/share_pool.c:2470:9: sparse: sparse: undefined identifier 'set_huge_pte_at'
mm/share_pool.c:2472:9: sparse: sparse: undefined identifier 'hugetlb_count_add'
mm/share_pool.c:2508:24: sparse: sparse: undefined identifier 'hugetlb_alloc_hugepage'
mm/share_pool.c: In function 'sp_hugetlb_entry':
mm/share_pool.c:1685:21: error: implicit declaration of function 'huge_ptep_get' [-Werror=implicit-function-declaration]
1685 | pte_t pte = huge_ptep_get(ptep);
| ^~~~~~~~~~~~~
mm/share_pool.c:1685:21: error: invalid initializer
mm/share_pool.c: In function 'sharepool_no_page':
>> mm/share_pool.c:2435:30: error: implicit declaration of function 'huge_pte_none'; did you mean 'huge_pte_lock'? [-Werror=implicit-function-declaration]
2435 | if (!huge_pte_none(huge_ptep_get(ptep))) {
| ^~~~~~~~~~~~~
| huge_pte_lock
>> mm/share_pool.c:2448:23: error: implicit declaration of function 'huge_add_to_page_cache'; did you mean 'add_to_page_cache'? [-Werror=implicit-function-declaration]
2448 | err = huge_add_to_page_cache(page, mapping, idx);
| ^~~~~~~~~~~~~~~~~~~~~~
| add_to_page_cache
>> mm/share_pool.c:2470:9: error: implicit declaration of function 'set_huge_pte_at'; did you mean 'set_huge_swap_pte_at'? [-Werror=implicit-function-declaration]
2470 | set_huge_pte_at(mm, haddr, ptep, new_pte);
| ^~~~~~~~~~~~~~~
| set_huge_swap_pte_at
>> mm/share_pool.c:2472:9: error: implicit declaration of function 'hugetlb_count_add'; did you mean 'hugetlb_count_sub'? [-Werror=implicit-function-declaration]
2472 | hugetlb_count_add(pages_per_huge_page(h), mm);
| ^~~~~~~~~~~~~~~~~
| hugetlb_count_sub
mm/share_pool.c: In function 'sp_alloc_pages':
mm/share_pool.c:2508:24: error: implicit declaration of function 'hugetlb_alloc_hugepage'; did you mean 'vmalloc_hugepage'? [-Werror=implicit-function-declaration]
2508 | return hugetlb_alloc_hugepage(NUMA_NO_NODE, HUGETLB_ALLOC_NONE);
| ^~~~~~~~~~~~~~~~~~~~~~
| vmalloc_hugepage
mm/share_pool.c:2508:61: error: 'HUGETLB_ALLOC_NONE' undeclared (first use in this function); did you mean 'HUGETLB_ANON_FILE'?
2508 | return hugetlb_alloc_hugepage(NUMA_NO_NODE, HUGETLB_ALLOC_NONE);
| ^~~~~~~~~~~~~~~~~~
| HUGETLB_ANON_FILE
mm/share_pool.c:2508:61: note: each undeclared identifier is reported only once for each function it appears in
mm/share_pool.c:2511:1: warning: control reaches end of non-void function [-Wreturn-type]
2511 | }
| ^
cc1: some warnings being treated as errors
vim +2435 mm/share_pool.c
2403
2404 vm_fault_t sharepool_no_page(struct mm_struct *mm,
2405 struct vm_area_struct *vma,
2406 struct address_space *mapping, pgoff_t idx,
2407 unsigned long address, pte_t *ptep, unsigned int flags)
2408 {
2409 struct hstate *h = hstate_vma(vma);
2410 vm_fault_t ret = VM_FAULT_SIGBUS;
2411 unsigned long size;
2412 struct page *page;
2413 pte_t new_pte;
2414 spinlock_t *ptl;
2415 unsigned long haddr = address & huge_page_mask(h);
2416 bool new_page = false;
2417 int err;
2418
2419 retry:
2420 page = find_lock_page(mapping, idx);
2421 if (!page) {
2422 size = i_size_read(mapping->host) >> huge_page_shift(h);
2423 if (idx >= size)
2424 goto out;
2425
2426 page = alloc_huge_page(vma, haddr, 0);
2427 if (IS_ERR(page)) {
2428 page = alloc_huge_page_node(hstate_file(vma->vm_file),
2429 numa_mem_id());
2430 if (!page)
2431 page = ERR_PTR(-ENOMEM);
2432 }
2433 if (IS_ERR(page)) {
2434 ptl = huge_pte_lock(h, mm, ptep);
> 2435 if (!huge_pte_none(huge_ptep_get(ptep))) {
2436 ret = 0;
2437 spin_unlock(ptl);
2438 goto out;
2439 }
2440 spin_unlock(ptl);
2441 ret = vmf_error(PTR_ERR(page));
2442 goto out;
2443 }
2444 __SetPageUptodate(page);
2445 new_page = true;
2446
2447 /* sharepool pages are all shared */
> 2448 err = huge_add_to_page_cache(page, mapping, idx);
2449 if (err) {
2450 put_page(page);
2451 if (err == -EEXIST)
2452 goto retry;
2453 goto out;
2454 }
2455 }
2456
2457
2458 ptl = huge_pte_lock(h, mm, ptep);
2459 size = i_size_read(mapping->host) >> huge_page_shift(h);
2460 if (idx >= size)
2461 goto backout;
2462
2463 ret = 0;
2464 if (!huge_pte_none(huge_ptep_get(ptep)))
2465 goto backout;
2466
2467 page_dup_rmap(page, true);
2468 new_pte = make_huge_pte(vma, page, ((vma->vm_flags & VM_WRITE)
2469 && (vma->vm_flags & VM_SHARED)));
> 2470 set_huge_pte_at(mm, haddr, ptep, new_pte);
2471
> 2472 hugetlb_count_add(pages_per_huge_page(h), mm);
2473
2474 spin_unlock(ptl);
2475
2476 if (new_page) {
2477 SetPagePrivate(&page[1]);
2478 }
2479
2480 unlock_page(page);
2481 out:
2482 return ret;
2483
2484 backout:
2485 spin_unlock(ptl);
2486 unlock_page(page);
2487 put_page(page);
2488 goto out;
2489 }
2490 EXPORT_SYMBOL(sharepool_no_page);
2491
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-04-01 16:43 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-01 16:43 [openeuler:openEuler-1.0-LTS 1544/1544] mm/share_pool.c:2435:30: error: implicit declaration of function 'huge_pte_none'; did you mean 'huge_pte_lock'? kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.