llvm.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [davidhildenbrand:rmap_id 10/10] include/linux/rmap.h:653:4: error: call to undeclared function 'folio_large_mapcount_dup'; ISO C99 and later do not support implicit function declarations
@ 2024-06-19  2:21 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-06-19  2:21 UTC (permalink / raw)
  To: David Hildenbrand; +Cc: llvm, oe-kbuild-all

tree:   https://github.com/davidhildenbrand/linux rmap_id
head:   28522f2898f6be45285b138912245f743d2118b5
commit: d7bf123ba843ca74ae36377c58b495264fdb3dbd [10/10] rmap_id
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20240619/202406191246.kwAalz2y-lkp@intel.com/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240619/202406191246.kwAalz2y-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/202406191246.kwAalz2y-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from mm/filemap.c:40:
>> include/linux/rmap.h:653:4: error: call to undeclared function 'folio_large_mapcount_dup'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     653 |                         folio_large_mapcount_dup(folio, orig_nr_pages,
         |                         ^
   include/linux/rmap.h:653:4: note: did you mean 'folio_large_mapcount_sub'?
   include/linux/rmap.h:477:20: note: 'folio_large_mapcount_sub' declared here
     477 | static inline void folio_large_mapcount_sub(struct folio *folio,
         |                    ^
   include/linux/rmap.h:665:4: error: call to undeclared function 'folio_large_mapcount_dup'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     665 |                         folio_large_mapcount_dup(folio, 1, dst_vma->vm_mm);
         |                         ^
   include/linux/rmap.h:767:4: error: call to undeclared function 'folio_large_mapcount_dup'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     767 |                         folio_large_mapcount_dup(folio, orig_nr_pages,
         |                         ^
   include/linux/rmap.h:785:4: error: call to undeclared function 'folio_large_mapcount_dup'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     785 |                         folio_large_mapcount_dup(folio, 1, dst_vma->vm_mm);
         |                         ^
   4 errors generated.
--
   In file included from mm/memory.c:57:
   In file included from include/linux/ksm.h:14:
>> include/linux/rmap.h:653:4: error: call to undeclared function 'folio_large_mapcount_dup'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     653 |                         folio_large_mapcount_dup(folio, orig_nr_pages,
         |                         ^
   include/linux/rmap.h:653:4: note: did you mean 'folio_large_mapcount_sub'?
   include/linux/rmap.h:477:20: note: 'folio_large_mapcount_sub' declared here
     477 | static inline void folio_large_mapcount_sub(struct folio *folio,
         |                    ^
   include/linux/rmap.h:665:4: error: call to undeclared function 'folio_large_mapcount_dup'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     665 |                         folio_large_mapcount_dup(folio, 1, dst_vma->vm_mm);
         |                         ^
   include/linux/rmap.h:767:4: error: call to undeclared function 'folio_large_mapcount_dup'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     767 |                         folio_large_mapcount_dup(folio, orig_nr_pages,
         |                         ^
   include/linux/rmap.h:785:4: error: call to undeclared function 'folio_large_mapcount_dup'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     785 |                         folio_large_mapcount_dup(folio, 1, dst_vma->vm_mm);
         |                         ^
>> mm/memory.c:3593:13: error: call to undeclared function '__folio_large_mapped_shared_locked'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    3593 |                         shared = __folio_large_mapped_shared_locked(folio, vma->vm_mm);
         |                                  ^
   5 errors generated.
--
   In file included from mm/mremap.c:15:
   In file included from include/linux/ksm.h:14:
>> include/linux/rmap.h:653:4: error: call to undeclared function 'folio_large_mapcount_dup'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     653 |                         folio_large_mapcount_dup(folio, orig_nr_pages,
         |                         ^
   include/linux/rmap.h:653:4: note: did you mean 'folio_large_mapcount_sub'?
   include/linux/rmap.h:477:20: note: 'folio_large_mapcount_sub' declared here
     477 | static inline void folio_large_mapcount_sub(struct folio *folio,
         |                    ^
   include/linux/rmap.h:665:4: error: call to undeclared function 'folio_large_mapcount_dup'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     665 |                         folio_large_mapcount_dup(folio, 1, dst_vma->vm_mm);
         |                         ^
   include/linux/rmap.h:767:4: error: call to undeclared function 'folio_large_mapcount_dup'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     767 |                         folio_large_mapcount_dup(folio, orig_nr_pages,
         |                         ^
   include/linux/rmap.h:785:4: error: call to undeclared function 'folio_large_mapcount_dup'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     785 |                         folio_large_mapcount_dup(folio, 1, dst_vma->vm_mm);
         |                         ^
   In file included from mm/mremap.c:16:
   include/linux/mman.h:158:9: warning: division by zero is undefined [-Wdivision-by-zero]
     158 |                _calc_vm_trans(flags, MAP_SYNC,       VM_SYNC      ) |
         |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mman.h:136:21: note: expanded from macro '_calc_vm_trans'
     136 |    : ((x) & (bit1)) / ((bit1) / (bit2))))
         |                     ^ ~~~~~~~~~~~~~~~~~
   include/linux/mman.h:159:9: warning: division by zero is undefined [-Wdivision-by-zero]
     159 |                _calc_vm_trans(flags, MAP_STACK,      VM_NOHUGEPAGE) |
         |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mman.h:136:21: note: expanded from macro '_calc_vm_trans'
     136 |    : ((x) & (bit1)) / ((bit1) / (bit2))))
         |                     ^ ~~~~~~~~~~~~~~~~~
   2 warnings and 4 errors generated.


vim +/folio_large_mapcount_dup +653 include/linux/rmap.h

   631	
   632	static __always_inline void __folio_dup_file_rmap(struct folio *folio,
   633			struct page *page, int nr_pages, struct vm_area_struct *dst_vma,
   634			enum rmap_level level)
   635	{
   636		const int orig_nr_pages = nr_pages;
   637	
   638		__folio_rmap_sanity_checks(folio, page, nr_pages, level);
   639	
   640		switch (level) {
   641		case RMAP_LEVEL_PTE:
   642			if (!folio_test_large(folio)) {
   643				atomic_inc(&page->_mapcount);
   644				break;
   645			}
   646	
   647			do {
   648				atomic_inc(&page->_mapcount);
   649			} while (page++, --nr_pages > 0);
   650	
   651			if (IS_ENABLED(CONFIG_RMAP_ID)) {
   652				folio_large_mapcount_lock(folio);
 > 653				folio_large_mapcount_dup(folio, orig_nr_pages,
   654							 dst_vma->vm_mm);
   655				folio_large_mapcount_unlock(folio);
   656			} else {
   657				atomic_add(orig_nr_pages, &folio->_large_mapcount);
   658			}
   659			break;
   660		case RMAP_LEVEL_PMD:
   661			if (IS_ENABLED(CONFIG_RMAP_ID)) {
   662				folio_large_mapcount_lock(folio);
   663				atomic_set(&folio->_entire_mapcount,
   664					   atomic_read(&folio->_entire_mapcount) + 1);
   665				folio_large_mapcount_dup(folio, 1, dst_vma->vm_mm);
   666				folio_large_mapcount_unlock(folio);
   667			} else {
   668				atomic_inc(&folio->_entire_mapcount);
   669				atomic_inc(&folio->_large_mapcount);
   670			}
   671			break;
   672		}
   673	}
   674	

-- 
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:[~2024-06-19  2:22 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-19  2:21 [davidhildenbrand:rmap_id 10/10] include/linux/rmap.h:653:4: error: call to undeclared function 'folio_large_mapcount_dup'; ISO C99 and later do not support implicit function declarations kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).