From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============6199162583454928889==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: [zen-kernel-zen-kernel:5.12/futex2 1/14] arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__ia32_sys_futex_wait' Date: Wed, 05 May 2021 08:07:47 +0800 Message-ID: <202105050841.fTCKuZKc-lkp@intel.com> List-Id: --===============6199162583454928889== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: https://github.com/zen-kernel/zen-kernel 5.12/futex2 head: 5932045f3f84865548199be0695192a500fbb5cb commit: 64cdae0a6364c651f13a9ba90f6a8fadd7e1b9f7 [1/14] futex2: Implement w= ait and wake functions config: i386-randconfig-r014-20210505 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=3D1 build): # https://github.com/zen-kernel/zen-kernel/commit/64cdae0a6364c651f= 13a9ba90f6a8fadd7e1b9f7 git remote add zen-kernel-zen-kernel https://github.com/zen-kernel/= zen-kernel git fetch --no-tags zen-kernel-zen-kernel 5.12/futex2 git checkout 64cdae0a6364c651f13a9ba90f6a8fadd7e1b9f7 # save the attached .config to linux build tree make W=3D1 W=3D1 ARCH=3Di386 = 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:126:1: note: in expansion of macro 'COND_SYSCALL' 126 | COND_SYSCALL(timerfd_gettime32); | ^~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous proto= type for '__ia32_sys_acct' [-Wmissing-prototypes] 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ | ^~ arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macr= o '__COND_SYSCALL' 120 | __COND_SYSCALL(ia32, sys_##name) | ^~~~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macr= o '__IA32_COND_SYSCALL' 257 | __IA32_COND_SYSCALL(name) | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:131:1: note: in expansion of macro 'COND_SYSCALL' 131 | COND_SYSCALL(acct); | ^~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous proto= type for '__ia32_sys_capget' [-Wmissing-prototypes] 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ | ^~ arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macr= o '__COND_SYSCALL' 120 | __COND_SYSCALL(ia32, sys_##name) | ^~~~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macr= o '__IA32_COND_SYSCALL' 257 | __IA32_COND_SYSCALL(name) | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:134:1: note: in expansion of macro 'COND_SYSCALL' 134 | COND_SYSCALL(capget); | ^~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous proto= type for '__ia32_sys_capset' [-Wmissing-prototypes] 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ | ^~ arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macr= o '__COND_SYSCALL' 120 | __COND_SYSCALL(ia32, sys_##name) | ^~~~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macr= o '__IA32_COND_SYSCALL' 257 | __IA32_COND_SYSCALL(name) | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:135:1: note: in expansion of macro 'COND_SYSCALL' 135 | COND_SYSCALL(capset); | ^~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous proto= type for '__ia32_sys_clone3' [-Wmissing-prototypes] 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ | ^~ arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macr= o '__COND_SYSCALL' 120 | __COND_SYSCALL(ia32, sys_##name) | ^~~~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macr= o '__IA32_COND_SYSCALL' 257 | __IA32_COND_SYSCALL(name) | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:143:1: note: in expansion of macro 'COND_SYSCALL' 143 | COND_SYSCALL(clone3); | ^~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous proto= type for '__ia32_sys_futex' [-Wmissing-prototypes] 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ | ^~ arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macr= o '__COND_SYSCALL' 120 | __COND_SYSCALL(ia32, sys_##name) | ^~~~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macr= o '__IA32_COND_SYSCALL' 257 | __IA32_COND_SYSCALL(name) | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:146:1: note: in expansion of macro 'COND_SYSCALL' 146 | COND_SYSCALL(futex); | ^~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous proto= type for '__ia32_sys_futex_time32' [-Wmissing-prototypes] 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ | ^~ arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macr= o '__COND_SYSCALL' 120 | __COND_SYSCALL(ia32, sys_##name) | ^~~~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macr= o '__IA32_COND_SYSCALL' 257 | __IA32_COND_SYSCALL(name) | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:147:1: note: in expansion of macro 'COND_SYSCALL' 147 | COND_SYSCALL(futex_time32); | ^~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous proto= type for '__ia32_sys_set_robust_list' [-Wmissing-prototypes] 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ | ^~ arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macr= o '__COND_SYSCALL' 120 | __COND_SYSCALL(ia32, sys_##name) | ^~~~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macr= o '__IA32_COND_SYSCALL' 257 | __IA32_COND_SYSCALL(name) | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:148:1: note: in expansion of macro 'COND_SYSCALL' 148 | COND_SYSCALL(set_robust_list); | ^~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous proto= type for '__ia32_sys_get_robust_list' [-Wmissing-prototypes] 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ | ^~ arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macr= o '__COND_SYSCALL' 120 | __COND_SYSCALL(ia32, sys_##name) | ^~~~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macr= o '__IA32_COND_SYSCALL' 257 | __IA32_COND_SYSCALL(name) | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:150:1: note: in expansion of macro 'COND_SYSCALL' 150 | COND_SYSCALL(get_robust_list); | ^~~~~~~~~~~~ >> arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous proto= type for '__ia32_sys_futex_wait' [-Wmissing-prototypes] 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ | ^~ arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macr= o '__COND_SYSCALL' 120 | __COND_SYSCALL(ia32, sys_##name) | ^~~~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macr= o '__IA32_COND_SYSCALL' 257 | __IA32_COND_SYSCALL(name) | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:154:1: note: in expansion of macro 'COND_SYSCALL' 154 | COND_SYSCALL(futex_wait); | ^~~~~~~~~~~~ >> arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous proto= type for '__ia32_sys_futex_wake' [-Wmissing-prototypes] 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ | ^~ arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macr= o '__COND_SYSCALL' 120 | __COND_SYSCALL(ia32, sys_##name) | ^~~~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macr= o '__IA32_COND_SYSCALL' 257 | __IA32_COND_SYSCALL(name) | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:155:1: note: in expansion of macro 'COND_SYSCALL' 155 | COND_SYSCALL(futex_wake); | ^~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous proto= type for '__ia32_sys_kexec_load' [-Wmissing-prototypes] 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ | ^~ arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macr= o '__COND_SYSCALL' 120 | __COND_SYSCALL(ia32, sys_##name) | ^~~~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macr= o '__IA32_COND_SYSCALL' 257 | __IA32_COND_SYSCALL(name) | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:162:1: note: in expansion of macro 'COND_SYSCALL' 162 | COND_SYSCALL(kexec_load); | ^~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous proto= type for '__ia32_sys_init_module' [-Wmissing-prototypes] 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ | ^~ arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macr= o '__COND_SYSCALL' 120 | __COND_SYSCALL(ia32, sys_##name) | ^~~~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macr= o '__IA32_COND_SYSCALL' 257 | __IA32_COND_SYSCALL(name) | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:166:1: note: in expansion of macro 'COND_SYSCALL' 166 | COND_SYSCALL(init_module); | ^~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous proto= type for '__ia32_sys_delete_module' [-Wmissing-prototypes] 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ | ^~ arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macr= o '__COND_SYSCALL' 120 | __COND_SYSCALL(ia32, sys_##name) | ^~~~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macr= o '__IA32_COND_SYSCALL' 257 | __IA32_COND_SYSCALL(name) | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:167:1: note: in expansion of macro 'COND_SYSCALL' 167 | COND_SYSCALL(delete_module); | ^~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous proto= type for '__ia32_sys_syslog' [-Wmissing-prototypes] 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ | ^~ arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macr= o '__COND_SYSCALL' 120 | __COND_SYSCALL(ia32, sys_##name) | ^~~~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macr= o '__IA32_COND_SYSCALL' 257 | __IA32_COND_SYSCALL(name) | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:172:1: note: in expansion of macro 'COND_SYSCALL' 172 | COND_SYSCALL(syslog); | ^~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous proto= type for '__ia32_sys_setregid' [-Wmissing-prototypes] 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ | ^~ arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macr= o '__COND_SYSCALL' 120 | __COND_SYSCALL(ia32, sys_##name) | ^~~~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macr= o '__IA32_COND_SYSCALL' 257 | __IA32_COND_SYSCALL(name) | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:179:1: note: in expansion of macro 'COND_SYSCALL' 179 | COND_SYSCALL(setregid); | ^~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous proto= type for '__ia32_sys_setgid' [-Wmissing-prototypes] 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ | ^~ arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macr= o '__COND_SYSCALL' 120 | __COND_SYSCALL(ia32, sys_##name) | ^~~~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macr= o '__IA32_COND_SYSCALL' 257 | __IA32_COND_SYSCALL(name) | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:180:1: note: in expansion of macro 'COND_SYSCALL' 180 | COND_SYSCALL(setgid); | ^~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous proto= type for '__ia32_sys_setreuid' [-Wmissing-prototypes] 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ | ^~ arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macr= o '__COND_SYSCALL' 120 | __COND_SYSCALL(ia32, sys_##name) | ^~~~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macr= o '__IA32_COND_SYSCALL' 257 | __IA32_COND_SYSCALL(name) | ^~~~~~~~~~~~~~~~~~~ kernel/sys_ni.c:181:1: note: in expansion of macro 'COND_SYSCALL' 181 | COND_SYSCALL(setreuid); | ^~~~~~~~~~~~ arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous proto= type for '__ia32_sys_setuid' [-Wmissing-prototypes] 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ | ^~ arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macr= o '__COND_SYSCALL' 120 | __COND_SYSCALL(ia32, sys_##name) vim +/__ia32_sys_futex_wait +83 arch/x86/include/asm/syscall_wrapper.h cc42c045af1ff4 Brian Gerst 2020-03-13 13 = 25c619e59b395a Brian Gerst 2020-03-13 14 /* 25c619e59b395a Brian Gerst 2020-03-13 15 * Instead of the generic = __SYSCALL_DEFINEx() definition, the x86 version takes 25c619e59b395a Brian Gerst 2020-03-13 16 * struct pt_regs *regs as= the only argument of the syscall stub(s) named as: 25c619e59b395a Brian Gerst 2020-03-13 17 * __x64_sys_*() -= 64-bit native syscall 25c619e59b395a Brian Gerst 2020-03-13 18 * __ia32_sys_*() -= 32-bit native syscall or common compat syscall 25c619e59b395a Brian Gerst 2020-03-13 19 * __ia32_compat_sys_*() -= 32-bit compat syscall 25c619e59b395a Brian Gerst 2020-03-13 20 * __x32_compat_sys_*() -= 64-bit X32 compat syscall 25c619e59b395a Brian Gerst 2020-03-13 21 * 25c619e59b395a Brian Gerst 2020-03-13 22 * The registers are decod= ed according to the ABI: 25c619e59b395a Brian Gerst 2020-03-13 23 * 64-bit: RDI, RSI, RDX, = R10, R8, R9 25c619e59b395a Brian Gerst 2020-03-13 24 * 32-bit: EBX, ECX, EDX, = ESI, EDI, EBP 25c619e59b395a Brian Gerst 2020-03-13 25 * 25c619e59b395a Brian Gerst 2020-03-13 26 * The stub then passes th= e decoded arguments to the __se_sys_*() wrapper to 25c619e59b395a Brian Gerst 2020-03-13 27 * perform sign-extension = (omitted for zero-argument syscalls). Finally the 25c619e59b395a Brian Gerst 2020-03-13 28 * arguments are passed to= the __do_sys_*() function which is the actual 25c619e59b395a Brian Gerst 2020-03-13 29 * syscall. These wrapper= s are marked as inline so the compiler can optimize 25c619e59b395a Brian Gerst 2020-03-13 30 * the functions where app= ropriate. 25c619e59b395a Brian Gerst 2020-03-13 31 * 25c619e59b395a Brian Gerst 2020-03-13 32 * Example assembly (sligh= tly re-ordered for better readability): 25c619e59b395a Brian Gerst 2020-03-13 33 * 25c619e59b395a Brian Gerst 2020-03-13 34 * <__x64_sys_recv>: <-- = syscall with 4 parameters 25c619e59b395a Brian Gerst 2020-03-13 35 * callq <__fentry__> 25c619e59b395a Brian Gerst 2020-03-13 36 * 25c619e59b395a Brian Gerst 2020-03-13 37 * mov 0x70(%rdi),%rdi <--= decode regs->di 25c619e59b395a Brian Gerst 2020-03-13 38 * mov 0x68(%rdi),%rsi <--= decode regs->si 25c619e59b395a Brian Gerst 2020-03-13 39 * mov 0x60(%rdi),%rdx <--= decode regs->dx 25c619e59b395a Brian Gerst 2020-03-13 40 * mov 0x38(%rdi),%rcx <--= decode regs->r10 25c619e59b395a Brian Gerst 2020-03-13 41 * 25c619e59b395a Brian Gerst 2020-03-13 42 * xor %r9d,%r9d <-- clear= %r9 25c619e59b395a Brian Gerst 2020-03-13 43 * xor %r8d,%r8d <-- clear= %r8 25c619e59b395a Brian Gerst 2020-03-13 44 * 25c619e59b395a Brian Gerst 2020-03-13 45 * callq __sys_recvfrom <-= - do the actual work in __sys_recvfrom() 25c619e59b395a Brian Gerst 2020-03-13 46 * which takes 6 ar= guments 25c619e59b395a Brian Gerst 2020-03-13 47 * 25c619e59b395a Brian Gerst 2020-03-13 48 * cltq <-- extend retur= n value to 64-bit 25c619e59b395a Brian Gerst 2020-03-13 49 * retq <-- return 25c619e59b395a Brian Gerst 2020-03-13 50 * 25c619e59b395a Brian Gerst 2020-03-13 51 * This approach avoids le= aking random user-provided register content down 25c619e59b395a Brian Gerst 2020-03-13 52 * the call chain. 25c619e59b395a Brian Gerst 2020-03-13 53 */ 25c619e59b395a Brian Gerst 2020-03-13 54 = ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 55 /* Mapping of registers to= parameters for syscalls on x86-64 and x32 */ ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 56 #define SC_X86_64_REGS_TO_= ARGS(x, ...) \ ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 57 __MAP(x,__SC_ARGS \ ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 58 ,,regs->di,,regs->si,,re= gs->dx \ ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 59 ,,regs->r10,,regs->r8,,r= egs->r9) \ ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 60 = ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 61 /* Mapping of registers to= parameters for syscalls on i386 */ ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 62 #define SC_IA32_REGS_TO_AR= GS(x, ...) \ ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 63 __MAP(x,__SC_ARGS \ ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 64 ,,(unsigned int)reg= s->bx,,(unsigned int)regs->cx \ ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 65 ,,(unsigned int)reg= s->dx,,(unsigned int)regs->si \ ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 66 ,,(unsigned int)reg= s->di,,(unsigned int)regs->bp) ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 67 = d2b5de495ee983 Brian Gerst 2020-03-13 68 #define __SYS_STUB0(abi, n= ame) \ 0f78ff17112d8b Brian Gerst 2020-03-13 69 long __##abi##_##name(con= st struct pt_regs *regs); \ d2b5de495ee983 Brian Gerst 2020-03-13 70 ALLOW_ERROR_INJECTION(__#= #abi##_##name, ERRNO); \ 0f78ff17112d8b Brian Gerst 2020-03-13 71 long __##abi##_##name(con= st struct pt_regs *regs) \ d2b5de495ee983 Brian Gerst 2020-03-13 72 __alias(__do_##name); d2b5de495ee983 Brian Gerst 2020-03-13 73 = 4399e0cf494f73 Brian Gerst 2020-03-13 74 #define __SYS_STUBx(abi, n= ame, ...) \ 0f78ff17112d8b Brian Gerst 2020-03-13 75 long __##abi##_##name(con= st struct pt_regs *regs); \ 4399e0cf494f73 Brian Gerst 2020-03-13 76 ALLOW_ERROR_INJECTION(__#= #abi##_##name, ERRNO); \ 0f78ff17112d8b Brian Gerst 2020-03-13 77 long __##abi##_##name(con= st struct pt_regs *regs) \ 4399e0cf494f73 Brian Gerst 2020-03-13 78 { \ 4399e0cf494f73 Brian Gerst 2020-03-13 79 return __se_##name(__VA_= ARGS__); \ 4399e0cf494f73 Brian Gerst 2020-03-13 80 } 4399e0cf494f73 Brian Gerst 2020-03-13 81 = 6cc8d2b286d9e7 Brian Gerst 2020-03-13 82 #define __COND_SYSCALL(abi= , name) \ 0f78ff17112d8b Brian Gerst 2020-03-13 @83 __weak long __##abi##_##n= ame(const struct pt_regs *__unused) \ 6cc8d2b286d9e7 Brian Gerst 2020-03-13 84 { \ 6cc8d2b286d9e7 Brian Gerst 2020-03-13 85 return sys_ni_syscall();= \ 6cc8d2b286d9e7 Brian Gerst 2020-03-13 86 } 6cc8d2b286d9e7 Brian Gerst 2020-03-13 87 = :::::: The code at line 83 was first introduced by commit :::::: 0f78ff17112d8b3469b805ff4ea9780cc1e5c93b x86/entry: Drop asmlinkage = from syscalls :::::: TO: Brian Gerst :::::: CC: Thomas Gleixner --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============6199162583454928889== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 AA== --===============6199162583454928889==--