Messages in this thread | | | Date | Sat, 25 Feb 2023 13:08:43 +0800 | From | kernel test robot <> | Subject | arch/arm/mm/copypage-fa.c:38:6: warning: no previous prototype for function 'fa_copy_user_highpage' |
| |
Hi Nathan,
FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 595fa4e313fee3c0b69c10bbed6fffb803237306 commit: 5eb6e280432ddc9b755193552f3a070da8d7455c ARM: 9289/1: Allow pre-ARMv5 builds with ld.lld 16.0.0 and newer date: 4 weeks ago config: arm-buildonly-randconfig-r004-20230225 (https://download.01.org/0day-ci/archive/20230225/202302251326.LmxaMXY3-lkp@intel.com/config) compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project db89896bbbd2251fff457699635acbbedeead27f) 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/torvalds/linux.git/commit/?id=5eb6e280432ddc9b755193552f3a070da8d7455c git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 5eb6e280432ddc9b755193552f3a070da8d7455c # 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 olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash arch/arm/mm/
If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> | Link: https://lore.kernel.org/oe-kbuild-all/202302251326.LmxaMXY3-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> arch/arm/mm/copypage-fa.c:38:6: warning: no previous prototype for function 'fa_copy_user_highpage' [-Wmissing-prototypes] void fa_copy_user_highpage(struct page *to, struct page *from, ^ arch/arm/mm/copypage-fa.c:38:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void fa_copy_user_highpage(struct page *to, struct page *from, ^ static >> arch/arm/mm/copypage-fa.c:55:6: warning: no previous prototype for function 'fa_clear_user_highpage' [-Wmissing-prototypes] void fa_clear_user_highpage(struct page *page, unsigned long vaddr) ^ arch/arm/mm/copypage-fa.c:55:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void fa_clear_user_highpage(struct page *page, unsigned long vaddr) ^ static 2 warnings generated.
vim +/fa_copy_user_highpage +38 arch/arm/mm/copypage-fa.c
28853ac8fe5221 Paulius Zaleckas 2009-03-25 37 28853ac8fe5221 Paulius Zaleckas 2009-03-25 @38 void fa_copy_user_highpage(struct page *to, struct page *from, a3be6327163c22 Hans Ulli Kroll 2010-04-27 39 unsigned long vaddr, struct vm_area_struct *vma) 28853ac8fe5221 Paulius Zaleckas 2009-03-25 40 { 28853ac8fe5221 Paulius Zaleckas 2009-03-25 41 void *kto, *kfrom; 28853ac8fe5221 Paulius Zaleckas 2009-03-25 42 5472e862de2bc4 Cong Wang 2011-11-25 43 kto = kmap_atomic(to); 5472e862de2bc4 Cong Wang 2011-11-25 44 kfrom = kmap_atomic(from); 28853ac8fe5221 Paulius Zaleckas 2009-03-25 45 fa_copy_user_page(kto, kfrom); 5472e862de2bc4 Cong Wang 2011-11-25 46 kunmap_atomic(kfrom); 5472e862de2bc4 Cong Wang 2011-11-25 47 kunmap_atomic(kto); 28853ac8fe5221 Paulius Zaleckas 2009-03-25 48 } 28853ac8fe5221 Paulius Zaleckas 2009-03-25 49 28853ac8fe5221 Paulius Zaleckas 2009-03-25 50 /* 28853ac8fe5221 Paulius Zaleckas 2009-03-25 51 * Faraday optimised clear_user_page 28853ac8fe5221 Paulius Zaleckas 2009-03-25 52 * 28853ac8fe5221 Paulius Zaleckas 2009-03-25 53 * Same story as above. 28853ac8fe5221 Paulius Zaleckas 2009-03-25 54 */ 28853ac8fe5221 Paulius Zaleckas 2009-03-25 @55 void fa_clear_user_highpage(struct page *page, unsigned long vaddr) 28853ac8fe5221 Paulius Zaleckas 2009-03-25 56 { 5472e862de2bc4 Cong Wang 2011-11-25 57 void *ptr, *kaddr = kmap_atomic(page); 28853ac8fe5221 Paulius Zaleckas 2009-03-25 58 asm volatile("\ 28853ac8fe5221 Paulius Zaleckas 2009-03-25 59 mov r1, %2 @ 1\n\ 28853ac8fe5221 Paulius Zaleckas 2009-03-25 60 mov r2, #0 @ 1\n\ 28853ac8fe5221 Paulius Zaleckas 2009-03-25 61 mov r3, #0 @ 1\n\ 28853ac8fe5221 Paulius Zaleckas 2009-03-25 62 mov ip, #0 @ 1\n\ 28853ac8fe5221 Paulius Zaleckas 2009-03-25 63 mov lr, #0 @ 1\n\ 28853ac8fe5221 Paulius Zaleckas 2009-03-25 64 1: stmia %0, {r2, r3, ip, lr} @ 4\n\ 28853ac8fe5221 Paulius Zaleckas 2009-03-25 65 mcr p15, 0, %0, c7, c14, 1 @ 1 clean and invalidate D line\n\ 28853ac8fe5221 Paulius Zaleckas 2009-03-25 66 add %0, %0, #16 @ 1\n\ 28853ac8fe5221 Paulius Zaleckas 2009-03-25 67 stmia %0, {r2, r3, ip, lr} @ 4\n\ 28853ac8fe5221 Paulius Zaleckas 2009-03-25 68 mcr p15, 0, %0, c7, c14, 1 @ 1 clean and invalidate D line\n\ 28853ac8fe5221 Paulius Zaleckas 2009-03-25 69 add %0, %0, #16 @ 1\n\ 28853ac8fe5221 Paulius Zaleckas 2009-03-25 70 subs r1, r1, #1 @ 1\n\ 28853ac8fe5221 Paulius Zaleckas 2009-03-25 71 bne 1b @ 1\n\ 28853ac8fe5221 Paulius Zaleckas 2009-03-25 72 mcr p15, 0, r1, c7, c10, 4 @ 1 drain WB" 28853ac8fe5221 Paulius Zaleckas 2009-03-25 73 : "=r" (ptr) 28853ac8fe5221 Paulius Zaleckas 2009-03-25 74 : "0" (kaddr), "I" (PAGE_SIZE / 32) 28853ac8fe5221 Paulius Zaleckas 2009-03-25 75 : "r1", "r2", "r3", "ip", "lr"); 5472e862de2bc4 Cong Wang 2011-11-25 76 kunmap_atomic(kaddr); 28853ac8fe5221 Paulius Zaleckas 2009-03-25 77 } 28853ac8fe5221 Paulius Zaleckas 2009-03-25 78
:::::: The code at line 38 was first introduced by commit :::::: 28853ac8fe5221de74a14f1182d7b2b383dfd85c ARM: Add support for FA526 v2
:::::: TO: Paulius Zaleckas <paulius.zaleckas@teltonika.lt> :::::: CC: Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
-- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests
| |