Hi Suren, I love your patch! Perhaps something to improve: [auto build test WARNING on arm64/for-next/core] [also build test WARNING on linus/master v5.14-rc4 next-20210802] [cannot apply to hnaz-linux-mm/master 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/Suren-Baghdasaryan/mm-introduce-process_mrelease-system-call/20210803-061733 base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core config: arm64-allyesconfig (attached as .config) compiler: aarch64-linux-gcc (GCC) 10.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/919f5f829cf9d1efd2df2935c7aae437a8c98a6d git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Suren-Baghdasaryan/mm-introduce-process_mrelease-system-call/20210803-061733 git checkout 919f5f829cf9d1efd2df2935c7aae437a8c98a6d # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.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:267:1: note: in expansion of macro 'COND_SYSCALL' 267 | COND_SYSCALL(keyctl); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_keyctl' [-Wmissing-prototypes] 41 | asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:268:1: note: in expansion of macro 'COND_SYSCALL_COMPAT' 268 | COND_SYSCALL_COMPAT(keyctl); | ^~~~~~~~~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_landlock_create_ruleset' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:271:1: note: in expansion of macro 'COND_SYSCALL' 271 | COND_SYSCALL(landlock_create_ruleset); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_landlock_add_rule' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:272:1: note: in expansion of macro 'COND_SYSCALL' 272 | COND_SYSCALL(landlock_add_rule); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_landlock_restrict_self' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:273:1: note: in expansion of macro 'COND_SYSCALL' 273 | COND_SYSCALL(landlock_restrict_self); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_fadvise64_64' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:278:1: note: in expansion of macro 'COND_SYSCALL' 278 | COND_SYSCALL(fadvise64_64); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_swapon' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:281:1: note: in expansion of macro 'COND_SYSCALL' 281 | COND_SYSCALL(swapon); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_swapoff' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:282:1: note: in expansion of macro 'COND_SYSCALL' 282 | COND_SYSCALL(swapoff); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_mprotect' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:283:1: note: in expansion of macro 'COND_SYSCALL' 283 | COND_SYSCALL(mprotect); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_msync' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:284:1: note: in expansion of macro 'COND_SYSCALL' 284 | COND_SYSCALL(msync); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_mlock' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:285:1: note: in expansion of macro 'COND_SYSCALL' 285 | COND_SYSCALL(mlock); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_munlock' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:286:1: note: in expansion of macro 'COND_SYSCALL' 286 | COND_SYSCALL(munlock); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_mlockall' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:287:1: note: in expansion of macro 'COND_SYSCALL' 287 | COND_SYSCALL(mlockall); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_munlockall' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:288:1: note: in expansion of macro 'COND_SYSCALL' 288 | COND_SYSCALL(munlockall); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_mincore' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:289:1: note: in expansion of macro 'COND_SYSCALL' 289 | COND_SYSCALL(mincore); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_madvise' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:290:1: note: in expansion of macro 'COND_SYSCALL' 290 | COND_SYSCALL(madvise); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_process_madvise' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:291:1: note: in expansion of macro 'COND_SYSCALL' 291 | COND_SYSCALL(process_madvise); | ^~~~~~~~~~~~ >> arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_process_mrelease' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:292:1: note: in expansion of macro 'COND_SYSCALL' 292 | COND_SYSCALL(process_mrelease); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_remap_file_pages' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:293:1: note: in expansion of macro 'COND_SYSCALL' 293 | COND_SYSCALL(remap_file_pages); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_mbind' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:294:1: note: in expansion of macro 'COND_SYSCALL' 294 | COND_SYSCALL(mbind); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_mbind' [-Wmissing-prototypes] 41 | asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:295:1: note: in expansion of macro 'COND_SYSCALL_COMPAT' 295 | COND_SYSCALL_COMPAT(mbind); | ^~~~~~~~~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_get_mempolicy' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:296:1: note: in expansion of macro 'COND_SYSCALL' 296 | COND_SYSCALL(get_mempolicy); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_get_mempolicy' [-Wmissing-prototypes] 41 | asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:297:1: note: in expansion of macro 'COND_SYSCALL_COMPAT' 297 | COND_SYSCALL_COMPAT(get_mempolicy); | ^~~~~~~~~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_set_mempolicy' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:298:1: note: in expansion of macro 'COND_SYSCALL' 298 | COND_SYSCALL(set_mempolicy); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_set_mempolicy' [-Wmissing-prototypes] 41 | asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:299:1: note: in expansion of macro 'COND_SYSCALL_COMPAT' 299 | COND_SYSCALL_COMPAT(set_mempolicy); | ^~~~~~~~~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_migrate_pages' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:300:1: note: in expansion of macro 'COND_SYSCALL' 300 | COND_SYSCALL(migrate_pages); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_migrate_pages' [-Wmissing-prototypes] 41 | asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:301:1: note: in expansion of macro 'COND_SYSCALL_COMPAT' 301 | COND_SYSCALL_COMPAT(migrate_pages); | ^~~~~~~~~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_move_pages' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:302:1: note: in expansion of macro 'COND_SYSCALL' 302 | COND_SYSCALL(move_pages); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_move_pages' [-Wmissing-prototypes] 41 | asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:303:1: note: in expansion of macro 'COND_SYSCALL_COMPAT' 303 | COND_SYSCALL_COMPAT(move_pages); | ^~~~~~~~~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_perf_event_open' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:305:1: note: in expansion of macro 'COND_SYSCALL' 305 | COND_SYSCALL(perf_event_open); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_accept4' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:306:1: note: in expansion of macro 'COND_SYSCALL' 306 | COND_SYSCALL(accept4); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_recvmmsg' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:307:1: note: in expansion of macro 'COND_SYSCALL' 307 | COND_SYSCALL(recvmmsg); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_recvmmsg_time32' [-Wmissing-prototypes] 76 | asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~ kernel/sys_ni.c:308:1: note: in expansion of macro 'COND_SYSCALL' 308 | COND_SYSCALL(recvmmsg_time32); | ^~~~~~~~~~~~ arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_recvmmsg_time32' [-Wmissing-prototypes] 41 | asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \ | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:309:1: note: in expansion of macro 'COND_SYSCALL_COMPAT' 309 | COND_SYSCALL_COMPAT(recvmmsg_time32); vim +/__arm64_sys_process_mrelease +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(a)lists.01.org