* [zen-kernel-zen-kernel:5.12/futex2 4/14] kernel/futex2.c:1077:30: error: variable has incomplete type 'struct compat_futex_requeue'
@ 2021-05-05 1:08 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-05-05 1:08 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 7606 bytes --]
tree: https://github.com/zen-kernel/zen-kernel 5.12/futex2
head: 5932045f3f84865548199be0695192a500fbb5cb
commit: 270e16f72b29d04a83645b653e9fc65be51801d2 [4/14] futex2: Implement requeue operation
config: powerpc64-randconfig-r025-20210503 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 8f5a2a5836cc8e4c1def2bdeb022e7b496623439)
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
# install powerpc64 cross compiling tool for clang build
# apt-get install binutils-powerpc64-linux-gnu
# https://github.com/zen-kernel/zen-kernel/commit/270e16f72b29d04a83645b653e9fc65be51801d2
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 270e16f72b29d04a83645b653e9fc65be51801d2
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=powerpc64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
kernel/futex2.c:711:16: warning: declaration of 'struct compat_futex_waitv' will not be visible outside of this function [-Wvisibility]
struct compat_futex_waitv __user *uwaitv,
^
kernel/futex2.c:714:28: error: variable has incomplete type 'struct compat_futex_waitv'
struct compat_futex_waitv waitv;
^
kernel/futex2.c:711:16: note: forward declaration of 'struct compat_futex_waitv'
struct compat_futex_waitv __user *uwaitv,
^
kernel/futex2.c:719:37: error: subscript of pointer to incomplete type 'struct compat_futex_waitv'
if (copy_from_user(&waitv, &uwaitv[i], sizeof(waitv)))
~~~~~~^
kernel/futex2.c:711:16: note: forward declaration of 'struct compat_futex_waitv'
struct compat_futex_waitv __user *uwaitv,
^
kernel/futex2.c:728:31: error: implicit declaration of function 'compat_ptr' [-Werror,-Wimplicit-function-declaration]
futexv->objects[i].uaddr = compat_ptr(waitv.uaddr);
^
kernel/futex2.c:747:37: error: expected identifier
COMPAT_SYSCALL_DEFINE4(futex_waitv, struct compat_futex_waitv __user *, waiters,
^
kernel/futex2.c:754:6: error: use of undeclared identifier 'flags'
if (flags & ~FUTEXV_MASK)
^
kernel/futex2.c:757:7: error: use of undeclared identifier 'nr_futexes'
if (!nr_futexes || nr_futexes > FUTEX_WAITV_MAX || !waiters)
^
kernel/futex2.c:757:21: error: use of undeclared identifier 'nr_futexes'
if (!nr_futexes || nr_futexes > FUTEX_WAITV_MAX || !waiters)
^
kernel/futex2.c:757:54: error: use of undeclared identifier 'waiters'
if (!nr_futexes || nr_futexes > FUTEX_WAITV_MAX || !waiters)
^
kernel/futex2.c:760:50: error: use of undeclared identifier 'nr_futexes'
futexv = kmalloc((sizeof(struct futex_waiter) * nr_futexes) +
^
kernel/futex2.c:768:41: error: use of undeclared identifier 'waiters'
ret = compat_futex_parse_waitv(futexv, waiters, nr_futexes);
^
kernel/futex2.c:768:50: error: use of undeclared identifier 'nr_futexes'
ret = compat_futex_parse_waitv(futexv, waiters, nr_futexes);
^
kernel/futex2.c:771:31: error: use of undeclared identifier 'nr_futexes'
ret = __futex_waitv(futexv, nr_futexes, timo, flags);
^
kernel/futex2.c:771:43: error: use of undeclared identifier 'timo'
ret = __futex_waitv(futexv, nr_futexes, timo, flags);
^
kernel/futex2.c:771:49: error: use of undeclared identifier 'flags'
ret = __futex_waitv(futexv, nr_futexes, timo, flags);
^
kernel/futex2.c:747:1: warning: no previous prototype for function 'COMPAT_SYSCALL_DEFINE4' [-Wmissing-prototypes]
COMPAT_SYSCALL_DEFINE4(futex_waitv, struct compat_futex_waitv __user *, waiters,
^
kernel/futex2.c:747:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
COMPAT_SYSCALL_DEFINE4(futex_waitv, struct compat_futex_waitv __user *, waiters,
^
static
kernel/futex2.c:747:23: error: this old-style function definition is not preceded by a prototype [-Werror,-Wstrict-prototypes]
COMPAT_SYSCALL_DEFINE4(futex_waitv, struct compat_futex_waitv __user *, waiters,
^
>> kernel/futex2.c:1074:18: warning: declaration of 'struct compat_futex_requeue' will not be visible outside of this function [-Wvisibility]
struct compat_futex_requeue __user *uaddr,
^
>> kernel/futex2.c:1077:30: error: variable has incomplete type 'struct compat_futex_requeue'
struct compat_futex_requeue tmp;
^
kernel/futex2.c:1074:18: note: forward declaration of 'struct compat_futex_requeue'
struct compat_futex_requeue __user *uaddr,
^
kernel/futex2.c:1088:14: error: implicit declaration of function 'compat_ptr' [-Werror,-Wimplicit-function-declaration]
rq->uaddr = compat_ptr(tmp.uaddr);
^
kernel/futex2.c:1094:39: error: expected identifier
COMPAT_SYSCALL_DEFINE6(futex_requeue, struct compat_futex_requeue __user *, uaddr1,
^
kernel/futex2.c:1103:6: error: use of undeclared identifier 'flags'
if (flags)
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
3 warnings and 20 errors generated.
vim +1077 kernel/futex2.c
1071
1072 #ifdef CONFIG_COMPAT
1073 static int compat_futex_parse_requeue(struct futex_requeue *rq,
> 1074 struct compat_futex_requeue __user *uaddr,
1075 bool *shared)
1076 {
> 1077 struct compat_futex_requeue tmp;
1078
1079 if (copy_from_user(&tmp, uaddr, sizeof(tmp)))
1080 return -EFAULT;
1081
1082 if (tmp.flags & ~FUTEXV_WAITER_MASK ||
1083 (tmp.flags & FUTEX_SIZE_MASK) != FUTEX_32)
1084 return -EINVAL;
1085
1086 *shared = (tmp.flags & FUTEX_SHARED_FLAG) ? true : false;
1087
1088 rq->uaddr = compat_ptr(tmp.uaddr);
1089 rq->flags = tmp.flags;
1090
1091 return 0;
1092 }
1093
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30268 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-05-05 1:08 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-05 1:08 [zen-kernel-zen-kernel:5.12/futex2 4/14] kernel/futex2.c:1077:30: error: variable has incomplete type 'struct compat_futex_requeue' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.