[akpm-mm:mm-unstable 338/431] mm/nommu.c:579:2: error: call to undeclared function 'vma_mas_store'; ISO C99 and later do not support implicit function declarations

From: kernel test robot
Date: Tue May 10 2022 - 08:54:12 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable
head: 584a50635cc1deee2eeab5a17dfdcf9db7add21b
commit: a245f2ec995564195c1956813ff4fee7a894f099 [338/431] mm: remove rb tree.
config: arm-randconfig-r012-20220509 (https://download.01.org/0day-ci/archive/20220510/202205102024.jnJMagOr-lkp@xxxxxxxxx/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 18dd123c56754edf62c7042dcf23185c3727610f)
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
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/commit/?id=a245f2ec995564195c1956813ff4fee7a894f099
git remote add akpm-mm https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git
git fetch --no-tags akpm-mm mm-unstable
git checkout a245f2ec995564195c1956813ff4fee7a894f099
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> mm/nommu.c:579:2: error: call to undeclared function 'vma_mas_store'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
vma_mas_store(vma, &mas);
^
mm/nommu.c:579:2: note: did you mean 'mas_store'?
include/linux/maple_tree.h:454:7: note: 'mas_store' declared here
void *mas_store(struct ma_state *mas, void *entry);
^
>> mm/nommu.c:615:2: error: call to undeclared function 'vma_mas_remove'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
vma_mas_remove(vma, &mas);
^
2 errors generated.


vim +/vma_mas_store +579 mm/nommu.c

547
548 /*
549 * add a VMA into a process's mm_struct in the appropriate place in the list
550 * and tree and add to the address space's page tree also if not an anonymous
551 * page
552 * - should be called with mm->mmap_lock held writelocked
553 */
554 static void add_vma_to_mm(struct mm_struct *mm, struct vm_area_struct *vma)
555 {
556 struct address_space *mapping;
557 struct vm_area_struct *prev;
558 MA_STATE(mas, &mm->mm_mt, vma->vm_start, vma->vm_end);
559
560 BUG_ON(!vma->vm_region);
561
562 mm->map_count++;
563 vma->vm_mm = mm;
564
565 /* add the VMA to the mapping */
566 if (vma->vm_file) {
567 mapping = vma->vm_file->f_mapping;
568
569 i_mmap_lock_write(mapping);
570 flush_dcache_mmap_lock(mapping);
571 vma_interval_tree_insert(vma, &mapping->i_mmap);
572 flush_dcache_mmap_unlock(mapping);
573 i_mmap_unlock_write(mapping);
574 }
575
576 prev = mas_prev(&mas, 0);
577 mas_reset(&mas);
578 /* add the VMA to the tree */
> 579 vma_mas_store(vma, &mas);
580 __vma_link_list(mm, vma, prev);
581 }
582
583 /*
584 * delete a VMA from its owning mm_struct and address space
585 */
586 static void delete_vma_from_mm(struct vm_area_struct *vma)
587 {
588 int i;
589 struct address_space *mapping;
590 struct mm_struct *mm = vma->vm_mm;
591 struct task_struct *curr = current;
592 MA_STATE(mas, &vma->vm_mm->mm_mt, 0, 0);
593
594 mm->map_count--;
595 for (i = 0; i < VMACACHE_SIZE; i++) {
596 /* if the vma is cached, invalidate the entire cache */
597 if (curr->vmacache.vmas[i] == vma) {
598 vmacache_invalidate(mm);
599 break;
600 }
601 }
602
603 /* remove the VMA from the mapping */
604 if (vma->vm_file) {
605 mapping = vma->vm_file->f_mapping;
606
607 i_mmap_lock_write(mapping);
608 flush_dcache_mmap_lock(mapping);
609 vma_interval_tree_remove(vma, &mapping->i_mmap);
610 flush_dcache_mmap_unlock(mapping);
611 i_mmap_unlock_write(mapping);
612 }
613
614 /* remove from the MM's tree and list */
> 615 vma_mas_remove(vma, &mas);
616 __vma_unlink_list(mm, vma);
617 }
618

--
0-DAY CI Kernel Test Service
https://01.org/lkp