arch/arm64/kernel/mte.c:197:13: warning: no previous prototype for function 'kasan_hw_tags_enable'

From: kernel test robot
Date: Wed Jun 01 2022 - 09:38:24 EST


Hi Peter,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 700170bf6b4d773e328fa54ebb70ba444007c702
commit: e5af50a5df571c1d0268b02f924de49b742c990f arm64: kasan: mte: move GCR_EL1 switch to task switch when KASAN disabled
date: 8 months ago
config: arm64-buildonly-randconfig-r001-20220531 (https://download.01.org/0day-ci/archive/20220601/202206012143.S2fcThHk-lkp@xxxxxxxxx/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project c825abd6b0198fb088d9752f556a70705bc99dfd)
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 arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e5af50a5df571c1d0268b02f924de49b742c990f
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout e5af50a5df571c1d0268b02f924de49b742c990f
# 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=arm64 SHELL=/bin/bash arch/arm64/kernel/

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

Note: functions only called from assembly code should be annotated with the asmlinkage attribute
All warnings (new ones prefixed by >>):

>> arch/arm64/kernel/mte.c:197:13: warning: no previous prototype for function 'kasan_hw_tags_enable' [-Wmissing-prototypes]
void __init kasan_hw_tags_enable(struct alt_instr *alt, __le32 *origptr,
^
arch/arm64/kernel/mte.c:197:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __init kasan_hw_tags_enable(struct alt_instr *alt, __le32 *origptr,
^
static
arch/arm64/kernel/mte.c:103:20: warning: unused function '__mte_enable_kernel' [-Wunused-function]
static inline void __mte_enable_kernel(const char *mode, unsigned long tcf)
^
2 warnings generated.


vim +/kasan_hw_tags_enable +197 arch/arm64/kernel/mte.c

196
> 197 void __init kasan_hw_tags_enable(struct alt_instr *alt, __le32 *origptr,
198 __le32 *updptr, int nr_inst)
199 {
200 BUG_ON(nr_inst != 1); /* Branch -> NOP */
201
202 if (kasan_hw_tags_enabled())
203 *updptr = cpu_to_le32(aarch64_insn_gen_nop());
204 }
205

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