Hi Sascha, I love your patch! Perhaps something to improve: [auto build test WARNING on m68k/for-next] [also build test WARNING on hp-parisc/for-next powerpc/next s390/features sparc/master linus/master v5.12-rc1] [cannot apply to arm64/for-next/core tip/x86/asm] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Sascha-Hauer/quota-Add-mountpath-based-quota-support/20210304-204157 base: https://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git for-next config: arm64-randconfig-r002-20210304 (attached as .config) compiler: aarch64-linux-gcc (GCC) 9.3.0 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 # https://github.com/0day-ci/linux/commit/4c5e71a8aad3e3e1f2eb339eec24d563d0d6acbe git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Sascha-Hauer/quota-Add-mountpath-based-quota-support/20210304-204157 git checkout 4c5e71a8aad3e3e1f2eb339eec24d563d0d6acbe # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 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 >>): | ^~~~~~~~~~~~ kernel/sys_ni.c:53:1: note: in expansion of macro 'COND_SYSCALL' 53 | COND_SYSCALL(io_uring_register); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_lookup_dcookie' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:60:1: note: in expansion of macro 'COND_SYSCALL' 60 | COND_SYSCALL(lookup_dcookie); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_lookup_dcookie' [-Wmissing-prototypes] 41 | asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:61:1: note: in expansion of macro 'COND_SYSCALL_COMPAT' 61 | COND_SYSCALL_COMPAT(lookup_dcookie); | ^~~~~~~~~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_eventfd2' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:64:1: note: in expansion of macro 'COND_SYSCALL' 64 | COND_SYSCALL(eventfd2); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_epoll_create1' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:67:1: note: in expansion of macro 'COND_SYSCALL' 67 | COND_SYSCALL(epoll_create1); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_epoll_ctl' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:68:1: note: in expansion of macro 'COND_SYSCALL' 68 | COND_SYSCALL(epoll_ctl); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_epoll_pwait' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:69:1: note: in expansion of macro 'COND_SYSCALL' 69 | COND_SYSCALL(epoll_pwait); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_epoll_pwait' [-Wmissing-prototypes] 41 | asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:70:1: note: in expansion of macro 'COND_SYSCALL_COMPAT' 70 | COND_SYSCALL_COMPAT(epoll_pwait); | ^~~~~~~~~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_epoll_pwait2' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:71:1: note: in expansion of macro 'COND_SYSCALL' 71 | COND_SYSCALL(epoll_pwait2); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_epoll_pwait2' [-Wmissing-prototypes] 41 | asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:72:1: note: in expansion of macro 'COND_SYSCALL_COMPAT' 72 | COND_SYSCALL_COMPAT(epoll_pwait2); | ^~~~~~~~~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_inotify_init1' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:77:1: note: in expansion of macro 'COND_SYSCALL' 77 | COND_SYSCALL(inotify_init1); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_inotify_add_watch' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:78:1: note: in expansion of macro 'COND_SYSCALL' 78 | COND_SYSCALL(inotify_add_watch); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_inotify_rm_watch' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:79:1: note: in expansion of macro 'COND_SYSCALL' 79 | COND_SYSCALL(inotify_rm_watch); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_ioprio_set' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:84:1: note: in expansion of macro 'COND_SYSCALL' 84 | COND_SYSCALL(ioprio_set); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_ioprio_get' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:85:1: note: in expansion of macro 'COND_SYSCALL' 85 | COND_SYSCALL(ioprio_get); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_flock' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:88:1: note: in expansion of macro 'COND_SYSCALL' 88 | COND_SYSCALL(flock); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_quotactl' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:101:1: note: in expansion of macro 'COND_SYSCALL' 101 | COND_SYSCALL(quotactl); | ^~~~~~~~~~~~ >> arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_quotactl_path' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:102:1: note: in expansion of macro 'COND_SYSCALL' 102 | COND_SYSCALL(quotactl_path); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_signalfd4' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:113:1: note: in expansion of macro 'COND_SYSCALL' 113 | COND_SYSCALL(signalfd4); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_signalfd4' [-Wmissing-prototypes] 41 | asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:114:1: note: in expansion of macro 'COND_SYSCALL_COMPAT' 114 | COND_SYSCALL_COMPAT(signalfd4); | ^~~~~~~~~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_timerfd_create' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:123:1: note: in expansion of macro 'COND_SYSCALL' 123 | COND_SYSCALL(timerfd_create); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_timerfd_settime' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:124:1: note: in expansion of macro 'COND_SYSCALL' 124 | COND_SYSCALL(timerfd_settime); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_timerfd_settime32' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:125:1: note: in expansion of macro 'COND_SYSCALL' 125 | COND_SYSCALL(timerfd_settime32); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_timerfd_gettime' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:126:1: note: in expansion of macro 'COND_SYSCALL' 126 | COND_SYSCALL(timerfd_gettime); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_timerfd_gettime32' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:127:1: note: in expansion of macro 'COND_SYSCALL' 127 | COND_SYSCALL(timerfd_gettime32); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_acct' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:132:1: note: in expansion of macro 'COND_SYSCALL' 132 | COND_SYSCALL(acct); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_capget' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:135:1: note: in expansion of macro 'COND_SYSCALL' 135 | COND_SYSCALL(capget); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_capset' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:136:1: note: in expansion of macro 'COND_SYSCALL' 136 | COND_SYSCALL(capset); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_clone3' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:144:1: note: in expansion of macro 'COND_SYSCALL' 144 | COND_SYSCALL(clone3); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_futex' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:147:1: note: in expansion of macro 'COND_SYSCALL' 147 | COND_SYSCALL(futex); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_futex_time32' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:148:1: note: in expansion of macro 'COND_SYSCALL' 148 | COND_SYSCALL(futex_time32); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_set_robust_list' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:149:1: note: in expansion of macro 'COND_SYSCALL' 149 | COND_SYSCALL(set_robust_list); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_set_robust_list' [-Wmissing-prototypes] 41 | asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:150:1: note: in expansion of macro 'COND_SYSCALL_COMPAT' 150 | COND_SYSCALL_COMPAT(set_robust_list); | ^~~~~~~~~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_get_robust_list' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:151:1: note: in expansion of macro 'COND_SYSCALL' 151 | COND_SYSCALL(get_robust_list); vim +/__arm64_sys_quotactl_path +76 arch/arm64/include/asm/syscall_wrapper.h 4378a7d4be30ec Mark Rutland 2018-07-11 50 4378a7d4be30ec Mark Rutland 2018-07-11 51 #define __SYSCALL_DEFINEx(x, name, ...) \ 4378a7d4be30ec Mark Rutland 2018-07-11 52 asmlinkage long __arm64_sys##name(const struct pt_regs *regs); \ 4378a7d4be30ec Mark Rutland 2018-07-11 53 ALLOW_ERROR_INJECTION(__arm64_sys##name, ERRNO); \ 4378a7d4be30ec Mark Rutland 2018-07-11 54 static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ 4378a7d4be30ec Mark Rutland 2018-07-11 55 static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \ 4378a7d4be30ec Mark Rutland 2018-07-11 56 asmlinkage long __arm64_sys##name(const struct pt_regs *regs) \ 4378a7d4be30ec Mark Rutland 2018-07-11 57 { \ 4378a7d4be30ec Mark Rutland 2018-07-11 58 return __se_sys##name(SC_ARM64_REGS_TO_ARGS(x,__VA_ARGS__)); \ 4378a7d4be30ec Mark Rutland 2018-07-11 59 } \ 4378a7d4be30ec Mark Rutland 2018-07-11 60 static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ 4378a7d4be30ec Mark Rutland 2018-07-11 61 { \ 4378a7d4be30ec Mark Rutland 2018-07-11 62 long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__)); \ 4378a7d4be30ec Mark Rutland 2018-07-11 63 __MAP(x,__SC_TEST,__VA_ARGS__); \ 4378a7d4be30ec Mark Rutland 2018-07-11 64 __PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__)); \ 4378a7d4be30ec Mark Rutland 2018-07-11 65 return ret; \ 4378a7d4be30ec Mark Rutland 2018-07-11 66 } \ 4378a7d4be30ec Mark Rutland 2018-07-11 67 static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) 4378a7d4be30ec Mark Rutland 2018-07-11 68 4378a7d4be30ec Mark Rutland 2018-07-11 69 #define SYSCALL_DEFINE0(sname) \ 4378a7d4be30ec Mark Rutland 2018-07-11 70 SYSCALL_METADATA(_##sname, 0); \ 0e358bd7b7ebd2 Sami Tolvanen 2019-05-24 71 asmlinkage long __arm64_sys_##sname(const struct pt_regs *__unused); \ 4378a7d4be30ec Mark Rutland 2018-07-11 72 ALLOW_ERROR_INJECTION(__arm64_sys_##sname, ERRNO); \ 0e358bd7b7ebd2 Sami Tolvanen 2019-05-24 73 asmlinkage long __arm64_sys_##sname(const struct pt_regs *__unused) 4378a7d4be30ec Mark Rutland 2018-07-11 74 c27eccfe4d6c74 Sami Tolvanen 2019-09-10 75 #define COND_SYSCALL(name) \ c27eccfe4d6c74 Sami Tolvanen 2019-09-10 @76 asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ c27eccfe4d6c74 Sami Tolvanen 2019-09-10 77 { \ c27eccfe4d6c74 Sami Tolvanen 2019-09-10 78 return sys_ni_syscall(); \ c27eccfe4d6c74 Sami Tolvanen 2019-09-10 79 } 4378a7d4be30ec Mark Rutland 2018-07-11 80 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org