tree:
https://github.com/zen-kernel/zen-kernel 5.13/futex2
head: 67f7da92d1cb45a815c7046f8719942a728216d0
commit: 16c6deba3504c19acf820b765762adf60a53d9d2 [4/5] futex2: Add sysfs entry for syscall
numbers
config: powerpc64-buildonly-randconfig-r003-20210709 (attached as .config)
compiler: powerpc64-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/zen-kernel/zen-kernel/commit/16c6deba3504c19acf820b765...
git remote add zen-kernel-zen-kernel
https://github.com/zen-kernel/zen-kernel
git fetch --no-tags zen-kernel-zen-kernel 5.13/futex2
git checkout 16c6deba3504c19acf820b765762adf60a53d9d2
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross O=build_dir
ARCH=powerpc SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
kernel/futex2.c:220:16: warning: 'struct compat_futex_waitv' declared inside
parameter list will not be visible outside of this definition or declaration
220 | struct compat_futex_waitv __user *uwaitv,
| ^~~~~~~~~~~~~~~~~~
kernel/futex2.c: In function 'compat_futex_parse_waitv':
kernel/futex2.c:223:28: error: storage size of 'aux' isn't known
223 | struct compat_futex_waitv aux;
| ^~~
kernel/futex2.c:227:35: error: invalid use of undefined type 'struct
compat_futex_waitv'
227 | if (copy_from_user(&aux, &uwaitv[i], sizeof(aux)))
| ^
kernel/futex2.c:227:35: error: dereferencing pointer to incomplete type 'struct
compat_futex_waitv'
kernel/futex2.c:236:23: error: implicit declaration of function 'compat_ptr'
[-Werror=implicit-function-declaration]
236 | futexv[i].w.uaddr = compat_ptr(aux.uaddr);
| ^~~~~~~~~~
kernel/futex2.c:223:28: warning: unused variable 'aux' [-Wunused-variable]
223 | struct compat_futex_waitv aux;
| ^~~
kernel/futex2.c: At top level:
kernel/futex2.c:243:36: error: expected ')' before 'struct'
243 | COMPAT_SYSCALL_DEFINE4(futex_waitv, struct compat_futex_waitv __user *,
waiters,
| ^~~~~~~
| )
kernel/futex2.c:406:42: error: expected ')' before 'void'
406 | COMPAT_SYSCALL_DEFINE4(compat_futex_wait, void __user *, uaddr, compat_u64,
val,
| ^~~~~
| )
kernel/futex2.c: In function 'wait_show':
> kernel/futex2.c:434:30: error: '__NR_futex_wait'
undeclared (first use in this function); did you mean 'ksys_futex_wait'?
434 | return sprintf(buf, "%u\n", __NR_futex_wait);
| ^~~~~~~~~~~~~~~
| ksys_futex_wait
kernel/futex2.c:434:30: note: each undeclared identifier is reported only once for each
function it appears in
kernel/futex2.c: In function 'wake_show':
> kernel/futex2.c:442:30: error: '__NR_futex_wake'
undeclared (first use in this function); did you mean 'sys_futex_wake'?
442 | return sprintf(buf, "%u\n", __NR_futex_wake);
| ^~~~~~~~~~~~~~~
| sys_futex_wake
kernel/futex2.c: In function 'waitv_show':
kernel/futex2.c:450:30: error: '__NR_futex_waitv' undeclared (first use in this
function); did you mean 'sys_futex_waitv'?
450 | return sprintf(buf, "%u\n", __NR_futex_waitv);
| ^~~~~~~~~~~~~~~~
| sys_futex_waitv
kernel/futex2.c:452:1: error: control reaches end of non-void function
[-Werror=return-type]
452 | }
| ^
kernel/futex2.c: In function 'wake_show':
kernel/futex2.c:444:1: error: control reaches end of non-void function
[-Werror=return-type]
444 | }
| ^
kernel/futex2.c: In function 'wait_show':
kernel/futex2.c:436:1: error: control reaches end of non-void function
[-Werror=return-type]
436 | }
| ^
At top level:
kernel/futex2.c:219:12: warning: 'compat_futex_parse_waitv' defined but not
used [-Wunused-function]
219 | static int compat_futex_parse_waitv(struct futex_vector *futexv,
| ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +434 kernel/futex2.c
430
431 static ssize_t wait_show(struct kobject *kobj, struct kobj_attribute *attr,
432 char *buf)
433 {
434 return sprintf(buf, "%u\n", __NR_futex_wait);
435
436 }
437 static struct kobj_attribute futex2_wait_attr = __ATTR_RO(wait);
438
439 static ssize_t wake_show(struct kobject *kobj, struct kobj_attribute *attr,
440 char *buf)
441 {
442 return sprintf(buf, "%u\n", __NR_futex_wake);
443
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org