Hi "Mickaƫl, I love your patch! Perhaps something to improve: [auto build test WARNING on 19c329f6808995b142b3966301f217c831e7cf31] url: https://github.com/0day-ci/linux/commits/Micka-l-Sala-n/Landlock-LSM/20210122-050233 base: 19c329f6808995b142b3966301f217c831e7cf31 config: arm64-randconfig-r014-20210121 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project bd3a387ee76f58caa0d7901f3f84e9bb3d006f27) 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://github.com/0day-ci/linux/commit/686924e64fbb52511aeb64af1b811b93d9d0df8b git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Micka-l-Sala-n/Landlock-LSM/20210122-050233 git checkout 686924e64fbb52511aeb64af1b811b93d9d0df8b # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \ ^ :136:1: note: expanded from here __arm64_compat_sys_sendmsg ^ kernel/sys_ni.c:254:1: note: declare 'static' if the function is not intended to be used outside of this translation unit arch/arm64/include/asm/syscall_wrapper.h:41:13: note: expanded from macro 'COND_SYSCALL_COMPAT' asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \ ^ kernel/sys_ni.c:255:1: warning: no previous prototype for function '__arm64_sys_recvmsg' [-Wmissing-prototypes] COND_SYSCALL(recvmsg); ^ arch/arm64/include/asm/syscall_wrapper.h:76:25: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ :137:1: note: expanded from here __arm64_sys_recvmsg ^ kernel/sys_ni.c:255:1: note: declare 'static' if the function is not intended to be used outside of this translation unit arch/arm64/include/asm/syscall_wrapper.h:76:13: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ kernel/sys_ni.c:256:1: warning: no previous prototype for function '__arm64_compat_sys_recvmsg' [-Wmissing-prototypes] COND_SYSCALL_COMPAT(recvmsg); ^ arch/arm64/include/asm/syscall_wrapper.h:41:25: note: expanded from macro 'COND_SYSCALL_COMPAT' asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \ ^ :138:1: note: expanded from here __arm64_compat_sys_recvmsg ^ kernel/sys_ni.c:256:1: note: declare 'static' if the function is not intended to be used outside of this translation unit arch/arm64/include/asm/syscall_wrapper.h:41:13: note: expanded from macro 'COND_SYSCALL_COMPAT' asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \ ^ kernel/sys_ni.c:261:1: warning: no previous prototype for function '__arm64_sys_mremap' [-Wmissing-prototypes] COND_SYSCALL(mremap); ^ arch/arm64/include/asm/syscall_wrapper.h:76:25: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ :139:1: note: expanded from here __arm64_sys_mremap ^ kernel/sys_ni.c:261:1: note: declare 'static' if the function is not intended to be used outside of this translation unit arch/arm64/include/asm/syscall_wrapper.h:76:13: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ kernel/sys_ni.c:264:1: warning: no previous prototype for function '__arm64_sys_add_key' [-Wmissing-prototypes] COND_SYSCALL(add_key); ^ arch/arm64/include/asm/syscall_wrapper.h:76:25: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ :140:1: note: expanded from here __arm64_sys_add_key ^ kernel/sys_ni.c:264:1: note: declare 'static' if the function is not intended to be used outside of this translation unit arch/arm64/include/asm/syscall_wrapper.h:76:13: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ kernel/sys_ni.c:265:1: warning: no previous prototype for function '__arm64_sys_request_key' [-Wmissing-prototypes] COND_SYSCALL(request_key); ^ arch/arm64/include/asm/syscall_wrapper.h:76:25: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ :141:1: note: expanded from here __arm64_sys_request_key ^ kernel/sys_ni.c:265:1: note: declare 'static' if the function is not intended to be used outside of this translation unit arch/arm64/include/asm/syscall_wrapper.h:76:13: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ kernel/sys_ni.c:266:1: warning: no previous prototype for function '__arm64_sys_keyctl' [-Wmissing-prototypes] COND_SYSCALL(keyctl); ^ arch/arm64/include/asm/syscall_wrapper.h:76:25: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ :142:1: note: expanded from here __arm64_sys_keyctl ^ kernel/sys_ni.c:266:1: note: declare 'static' if the function is not intended to be used outside of this translation unit arch/arm64/include/asm/syscall_wrapper.h:76:13: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ kernel/sys_ni.c:267:1: warning: no previous prototype for function '__arm64_compat_sys_keyctl' [-Wmissing-prototypes] COND_SYSCALL_COMPAT(keyctl); ^ arch/arm64/include/asm/syscall_wrapper.h:41:25: note: expanded from macro 'COND_SYSCALL_COMPAT' asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \ ^ :143:1: note: expanded from here __arm64_compat_sys_keyctl ^ kernel/sys_ni.c:267:1: note: declare 'static' if the function is not intended to be used outside of this translation unit arch/arm64/include/asm/syscall_wrapper.h:41:13: note: expanded from macro 'COND_SYSCALL_COMPAT' asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \ ^ >> kernel/sys_ni.c:270:1: warning: no previous prototype for function '__arm64_sys_landlock_create_ruleset' [-Wmissing-prototypes] COND_SYSCALL(landlock_create_ruleset); ^ arch/arm64/include/asm/syscall_wrapper.h:76:25: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ :144:1: note: expanded from here __arm64_sys_landlock_create_ruleset ^ kernel/sys_ni.c:270:1: note: declare 'static' if the function is not intended to be used outside of this translation unit arch/arm64/include/asm/syscall_wrapper.h:76:13: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ >> kernel/sys_ni.c:271:1: warning: no previous prototype for function '__arm64_sys_landlock_add_rule' [-Wmissing-prototypes] COND_SYSCALL(landlock_add_rule); ^ arch/arm64/include/asm/syscall_wrapper.h:76:25: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ :145:1: note: expanded from here __arm64_sys_landlock_add_rule ^ kernel/sys_ni.c:271:1: note: declare 'static' if the function is not intended to be used outside of this translation unit arch/arm64/include/asm/syscall_wrapper.h:76:13: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ >> kernel/sys_ni.c:272:1: warning: no previous prototype for function '__arm64_sys_landlock_enforce_ruleset_self' [-Wmissing-prototypes] COND_SYSCALL(landlock_enforce_ruleset_self); ^ arch/arm64/include/asm/syscall_wrapper.h:76:25: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ :146:1: note: expanded from here __arm64_sys_landlock_enforce_ruleset_self ^ kernel/sys_ni.c:272:1: note: declare 'static' if the function is not intended to be used outside of this translation unit arch/arm64/include/asm/syscall_wrapper.h:76:13: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ kernel/sys_ni.c:277:1: warning: no previous prototype for function '__arm64_sys_fadvise64_64' [-Wmissing-prototypes] COND_SYSCALL(fadvise64_64); ^ arch/arm64/include/asm/syscall_wrapper.h:76:25: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ :147:1: note: expanded from here __arm64_sys_fadvise64_64 ^ kernel/sys_ni.c:277:1: note: declare 'static' if the function is not intended to be used outside of this translation unit arch/arm64/include/asm/syscall_wrapper.h:76:13: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ kernel/sys_ni.c:280:1: warning: no previous prototype for function '__arm64_sys_swapon' [-Wmissing-prototypes] COND_SYSCALL(swapon); ^ arch/arm64/include/asm/syscall_wrapper.h:76:25: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ :148:1: note: expanded from here __arm64_sys_swapon ^ kernel/sys_ni.c:280:1: note: declare 'static' if the function is not intended to be used outside of this translation unit arch/arm64/include/asm/syscall_wrapper.h:76:13: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ kernel/sys_ni.c:281:1: warning: no previous prototype for function '__arm64_sys_swapoff' [-Wmissing-prototypes] COND_SYSCALL(swapoff); ^ arch/arm64/include/asm/syscall_wrapper.h:76:25: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ :149:1: note: expanded from here __arm64_sys_swapoff ^ kernel/sys_ni.c:281:1: note: declare 'static' if the function is not intended to be used outside of this translation unit arch/arm64/include/asm/syscall_wrapper.h:76:13: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ kernel/sys_ni.c:282:1: warning: no previous prototype for function '__arm64_sys_mprotect' [-Wmissing-prototypes] COND_SYSCALL(mprotect); ^ arch/arm64/include/asm/syscall_wrapper.h:76:25: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ :150:1: note: expanded from here __arm64_sys_mprotect ^ kernel/sys_ni.c:282:1: note: declare 'static' if the function is not intended to be used outside of this translation unit arch/arm64/include/asm/syscall_wrapper.h:76:13: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ kernel/sys_ni.c:283:1: warning: no previous prototype for function '__arm64_sys_msync' [-Wmissing-prototypes] COND_SYSCALL(msync); ^ arch/arm64/include/asm/syscall_wrapper.h:76:25: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ :151:1: note: expanded from here __arm64_sys_msync ^ kernel/sys_ni.c:283:1: note: declare 'static' if the function is not intended to be used outside of this translation unit arch/arm64/include/asm/syscall_wrapper.h:76:13: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ kernel/sys_ni.c:284:1: warning: no previous prototype for function '__arm64_sys_mlock' [-Wmissing-prototypes] COND_SYSCALL(mlock); ^ arch/arm64/include/asm/syscall_wrapper.h:76:25: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ :152:1: note: expanded from here __arm64_sys_mlock ^ kernel/sys_ni.c:284:1: note: declare 'static' if the function is not intended to be used outside of this translation unit arch/arm64/include/asm/syscall_wrapper.h:76:13: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ kernel/sys_ni.c:285:1: warning: no previous prototype for function '__arm64_sys_munlock' [-Wmissing-prototypes] COND_SYSCALL(munlock); ^ arch/arm64/include/asm/syscall_wrapper.h:76:25: note: expanded from macro 'COND_SYSCALL' asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ ^ :153:1: note: expanded from here __arm64_sys_munlock ^ kernel/sys_ni.c:285:1: note: declare 'static' if the function is not intended to be used outside of this translation unit vim +/__arm64_sys_landlock_create_ruleset +270 kernel/sys_ni.c 268 269 /* security/landlock/syscall.c */ > 270 COND_SYSCALL(landlock_create_ruleset); > 271 COND_SYSCALL(landlock_add_rule); > 272 COND_SYSCALL(landlock_enforce_ruleset_self); 273 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org