tree:
https://android.googlesource.com/kernel/common android12-5.4
head: 2cdbd9b441724f56f305dd479d3e54710d50e8e7
commit: c4d3c4ac7919d73354edf72e9b236d6e27977f6f [15107/19168] ANDROID: syscalls/x86: use
a weak function for IA32 compat syscalls
config: x86_64-randconfig-r034-20211118 (attached as .config)
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
git remote add android-common
https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android12-5.4
git checkout c4d3c4ac7919d73354edf72e9b236d6e27977f6f
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
asmlinkage __weak long __ia32_sys_##name(const struct pt_regs *__unused)\
^
<scratch space>:145:1: note: expanded from here
__ia32_sys_pciconfig_read
^
kernel/sys_ni.c:359:1: note: declare 'static' if the function is not intended
to be used outside of this translation unit
arch/x86/include/asm/syscall_wrapper.h:74:20: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __ia32_sys_##name(const struct pt_regs *__unused)\
^
kernel/sys_ni.c:360:1: warning: no previous prototype for function
'__x64_sys_pciconfig_write' [-Wmissing-prototypes]
COND_SYSCALL(pciconfig_write);
^
arch/x86/include/asm/syscall_wrapper.h:70:25: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __x64_sys_##name(const struct pt_regs *__unused) \
^
<scratch space>:146:1: note: expanded from here
__x64_sys_pciconfig_write
^
kernel/sys_ni.c:360:1: note: declare 'static' if the function is not intended
to be used outside of this translation unit
arch/x86/include/asm/syscall_wrapper.h:70:20: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __x64_sys_##name(const struct pt_regs *__unused) \
^
kernel/sys_ni.c:360:1: warning: no previous prototype for function
'__ia32_sys_pciconfig_write' [-Wmissing-prototypes]
COND_SYSCALL(pciconfig_write);
^
arch/x86/include/asm/syscall_wrapper.h:74:25: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __ia32_sys_##name(const struct pt_regs *__unused)\
^
<scratch space>:147:1: note: expanded from here
__ia32_sys_pciconfig_write
^
kernel/sys_ni.c:360:1: note: declare 'static' if the function is not intended
to be used outside of this translation unit
arch/x86/include/asm/syscall_wrapper.h:74:20: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __ia32_sys_##name(const struct pt_regs *__unused)\
^
kernel/sys_ni.c:361:1: warning: no previous prototype for function
'__x64_sys_pciconfig_iobase' [-Wmissing-prototypes]
COND_SYSCALL(pciconfig_iobase);
^
arch/x86/include/asm/syscall_wrapper.h:70:25: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __x64_sys_##name(const struct pt_regs *__unused) \
^
<scratch space>:148:1: note: expanded from here
__x64_sys_pciconfig_iobase
^
kernel/sys_ni.c:361:1: note: declare 'static' if the function is not intended
to be used outside of this translation unit
arch/x86/include/asm/syscall_wrapper.h:70:20: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __x64_sys_##name(const struct pt_regs *__unused) \
^
kernel/sys_ni.c:361:1: warning: no previous prototype for function
'__ia32_sys_pciconfig_iobase' [-Wmissing-prototypes]
COND_SYSCALL(pciconfig_iobase);
^
arch/x86/include/asm/syscall_wrapper.h:74:25: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __ia32_sys_##name(const struct pt_regs *__unused)\
^
<scratch space>:149:1: note: expanded from here
__ia32_sys_pciconfig_iobase
^
kernel/sys_ni.c:361:1: note: declare 'static' if the function is not intended
to be used outside of this translation unit
arch/x86/include/asm/syscall_wrapper.h:74:20: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __ia32_sys_##name(const struct pt_regs *__unused)\
^
kernel/sys_ni.c:364:1: warning: no previous prototype for function
'__x64_sys_socketcall' [-Wmissing-prototypes]
COND_SYSCALL(socketcall);
^
arch/x86/include/asm/syscall_wrapper.h:70:25: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __x64_sys_##name(const struct pt_regs *__unused) \
^
<scratch space>:150:1: note: expanded from here
__x64_sys_socketcall
^
kernel/sys_ni.c:364:1: note: declare 'static' if the function is not intended
to be used outside of this translation unit
arch/x86/include/asm/syscall_wrapper.h:70:20: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __x64_sys_##name(const struct pt_regs *__unused) \
^
kernel/sys_ni.c:364:1: warning: no previous prototype for function
'__ia32_sys_socketcall' [-Wmissing-prototypes]
COND_SYSCALL(socketcall);
^
arch/x86/include/asm/syscall_wrapper.h:74:25: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __ia32_sys_##name(const struct pt_regs *__unused)\
^
<scratch space>:151:1: note: expanded from here
__ia32_sys_socketcall
^
kernel/sys_ni.c:364:1: note: declare 'static' if the function is not intended
to be used outside of this translation unit
arch/x86/include/asm/syscall_wrapper.h:74:20: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __ia32_sys_##name(const struct pt_regs *__unused)\
^
kernel/sys_ni.c:365:1: warning: no previous prototype for function
'__ia32_compat_sys_socketcall' [-Wmissing-prototypes]
COND_SYSCALL_COMPAT(socketcall);
^
arch/x86/include/asm/syscall_wrapper.h:151:25: note: expanded from macro
'COND_SYSCALL_COMPAT'
asmlinkage __weak long __ia32_compat_sys_##name( \
^
<scratch space>:152:1: note: expanded from here
__ia32_compat_sys_socketcall
^
kernel/sys_ni.c:365:1: note: declare 'static' if the function is not intended
to be used outside of this translation unit
arch/x86/include/asm/syscall_wrapper.h:151:20: note: expanded from macro
'COND_SYSCALL_COMPAT'
asmlinkage __weak long __ia32_compat_sys_##name( \
^
> kernel/sys_ni.c:368:1: warning: no previous prototype for
function '__ia32_compat_sys_sysctl' [-Wmissing-prototypes]
COND_SYSCALL_COMPAT(sysctl);
^
arch/x86/include/asm/syscall_wrapper.h:151:25: note: expanded from macro
'COND_SYSCALL_COMPAT'
asmlinkage __weak long __ia32_compat_sys_##name( \
^
<scratch space>:157:1: note: expanded from here
__ia32_compat_sys_sysctl
^
kernel/sys_ni.c:368:1: note: declare 'static' if the function is not intended
to be used outside of this translation unit
arch/x86/include/asm/syscall_wrapper.h:151:20: note: expanded from macro
'COND_SYSCALL_COMPAT'
asmlinkage __weak long __ia32_compat_sys_##name( \
^
kernel/sys_ni.c:369:1: warning: no previous prototype for function
'__ia32_compat_sys_fanotify_mark' [-Wmissing-prototypes]
COND_SYSCALL_COMPAT(fanotify_mark);
^
arch/x86/include/asm/syscall_wrapper.h:151:25: note: expanded from macro
'COND_SYSCALL_COMPAT'
asmlinkage __weak long __ia32_compat_sys_##name( \
^
<scratch space>:5:1: note: expanded from here
__ia32_compat_sys_fanotify_mark
^
kernel/sys_ni.c:369:1: note: declare 'static' if the function is not intended
to be used outside of this translation unit
arch/x86/include/asm/syscall_wrapper.h:151:20: note: expanded from macro
'COND_SYSCALL_COMPAT'
asmlinkage __weak long __ia32_compat_sys_##name( \
^
kernel/sys_ni.c:372:1: warning: no previous prototype for function
'__x64_sys_vm86old' [-Wmissing-prototypes]
COND_SYSCALL(vm86old);
^
arch/x86/include/asm/syscall_wrapper.h:70:25: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __x64_sys_##name(const struct pt_regs *__unused) \
^
<scratch space>:10:1: note: expanded from here
__x64_sys_vm86old
^
kernel/sys_ni.c:372:1: note: declare 'static' if the function is not intended
to be used outside of this translation unit
arch/x86/include/asm/syscall_wrapper.h:70:20: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __x64_sys_##name(const struct pt_regs *__unused) \
^
kernel/sys_ni.c:372:1: warning: no previous prototype for function
'__ia32_sys_vm86old' [-Wmissing-prototypes]
COND_SYSCALL(vm86old);
^
arch/x86/include/asm/syscall_wrapper.h:74:25: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __ia32_sys_##name(const struct pt_regs *__unused)\
^
<scratch space>:11:1: note: expanded from here
__ia32_sys_vm86old
^
kernel/sys_ni.c:372:1: note: declare 'static' if the function is not intended
to be used outside of this translation unit
arch/x86/include/asm/syscall_wrapper.h:74:20: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __ia32_sys_##name(const struct pt_regs *__unused)\
^
kernel/sys_ni.c:373:1: warning: no previous prototype for function
'__x64_sys_modify_ldt' [-Wmissing-prototypes]
COND_SYSCALL(modify_ldt);
^
arch/x86/include/asm/syscall_wrapper.h:70:25: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __x64_sys_##name(const struct pt_regs *__unused) \
^
<scratch space>:12:1: note: expanded from here
__x64_sys_modify_ldt
^
kernel/sys_ni.c:373:1: note: declare 'static' if the function is not intended
to be used outside of this translation unit
arch/x86/include/asm/syscall_wrapper.h:70:20: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __x64_sys_##name(const struct pt_regs *__unused) \
^
kernel/sys_ni.c:373:1: warning: no previous prototype for function
'__ia32_sys_modify_ldt' [-Wmissing-prototypes]
COND_SYSCALL(modify_ldt);
^
arch/x86/include/asm/syscall_wrapper.h:74:25: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __ia32_sys_##name(const struct pt_regs *__unused)\
^
<scratch space>:13:1: note: expanded from here
__ia32_sys_modify_ldt
^
kernel/sys_ni.c:373:1: note: declare 'static' if the function is not intended
to be used outside of this translation unit
arch/x86/include/asm/syscall_wrapper.h:74:20: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __ia32_sys_##name(const struct pt_regs *__unused)\
^
kernel/sys_ni.c:374:1: warning: no previous prototype for function
'__ia32_compat_sys_quotactl32' [-Wmissing-prototypes]
COND_SYSCALL_COMPAT(quotactl32);
^
arch/x86/include/asm/syscall_wrapper.h:151:25: note: expanded from macro
'COND_SYSCALL_COMPAT'
asmlinkage __weak long __ia32_compat_sys_##name( \
^
<scratch space>:14:1: note: expanded from here
__ia32_compat_sys_quotactl32
^
kernel/sys_ni.c:374:1: note: declare 'static' if the function is not intended
to be used outside of this translation unit
arch/x86/include/asm/syscall_wrapper.h:151:20: note: expanded from macro
'COND_SYSCALL_COMPAT'
asmlinkage __weak long __ia32_compat_sys_##name( \
^
kernel/sys_ni.c:375:1: warning: no previous prototype for function
'__x64_sys_vm86' [-Wmissing-prototypes]
COND_SYSCALL(vm86);
^
arch/x86/include/asm/syscall_wrapper.h:70:25: note: expanded from macro
'COND_SYSCALL'
asmlinkage __weak long __x64_sys_##name(const struct pt_regs *__unused) \
^
<scratch space>:19:1: note: expanded from here
__x64_sys_vm86
^
kernel/sys_ni.c:375:1: note: declare 'static' if the function is not intended
to be used outside of this translation unit
vim +/__ia32_compat_sys_sysctl +368 kernel/sys_ni.c
70dd4b3160798b6 Dominik Brodowski 2018-03-06 366
70dd4b3160798b6 Dominik Brodowski 2018-03-06 367 /* compat syscalls for arm64, x86, ...
*/
67a7acd3773a94d Dominik Brodowski 2018-03-04 @368 COND_SYSCALL_COMPAT(sysctl);
67a7acd3773a94d Dominik Brodowski 2018-03-04 369 COND_SYSCALL_COMPAT(fanotify_mark);
70dd4b3160798b6 Dominik Brodowski 2018-03-06 370
:::::: The code at line 368 was first introduced by commit
:::::: 67a7acd3773a94df2e671601a288685485463cf9 kernel/sys_ni: remove {sys_,sys_compat}
from cond_syscall definitions
:::::: TO: Dominik Brodowski <linux(a)dominikbrodowski.net>
:::::: CC: Dominik Brodowski <linux(a)dominikbrodowski.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org