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