tree:
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git queue-5.3
head: 5daab9bb2bd2bf447eec337bab8cc1106fa410b7
commit: b62612cacd5c4efe4a74d437654dba8d622f21c4 [71/83] io_uring: only flush workqueues
on fileset removal
config: i386-defconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-13) 7.4.0
reproduce:
git checkout b62612cacd5c4efe4a74d437654dba8d622f21c4
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from fs/io_uring.c:42:0:
fs/io_uring.c: In function 'io_destruct_skb':
> include/linux/kernel.h:47:52: error: invalid use of undefined
type 'struct workqueue_struct'
#define ARRAY_SIZE(arr) (sizeof(arr) /
sizeof((arr)[0]) + __must_be_array(arr))
^
> fs/io_uring.c:2570:18: note: in expansion of macro
'ARRAY_SIZE'
for (i = 0; i < ARRAY_SIZE(ctx->sqo_wq); i++)
^~~~~~~~~~
> include/linux/kernel.h:47:52: error: dereferencing pointer to
incomplete type 'struct workqueue_struct'
#define ARRAY_SIZE(arr)
(sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
^
> fs/io_uring.c:2570:18: note: in expansion of macro
'ARRAY_SIZE'
for (i = 0; i < ARRAY_SIZE(ctx->sqo_wq); i++)
^~~~~~~~~~
In file included from include/linux/kernel.h:16:0,
from fs/io_uring.c:42:
> include/linux/compiler.h:357:67: error: invalid use of undefined
type 'struct workqueue_struct'
#define __must_be_array(a)
BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
^
include/linux/build_bug.h:16:56: note: in definition of macro
'BUILD_BUG_ON_ZERO'
#define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:(-!!(e)); }))
^
> include/linux/compiler.h:357:46: note: in expansion of macro
'__same_type'
#define __must_be_array(a)
BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
^~~~~~~~~~~
include/linux/kernel.h:47:59: note: in expansion of macro '__must_be_array'
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
^~~~~~~~~~~~~~~
> fs/io_uring.c:2570:18: note: in expansion of macro
'ARRAY_SIZE'
for (i = 0; i < ARRAY_SIZE(ctx->sqo_wq); i++)
^~~~~~~~~~
> include/linux/build_bug.h:16:45: error: bit-field
'<anonymous>' width not an integer constant
#define
BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:(-!!(e)); }))
^
include/linux/compiler.h:357:28: note: in expansion of macro
'BUILD_BUG_ON_ZERO'
#define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
^~~~~~~~~~~~~~~~~
include/linux/kernel.h:47:59: note: in expansion of macro '__must_be_array'
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
^~~~~~~~~~~~~~~
> fs/io_uring.c:2570:18: note: in expansion of macro
'ARRAY_SIZE'
for (i = 0; i < ARRAY_SIZE(ctx->sqo_wq); i++)
^~~~~~~~~~
> fs/io_uring.c:2571:18: error: invalid use of undefined type
'struct workqueue_struct'
if (ctx->sqo_wq[i])
^
fs/io_uring.c:2572:31: error: invalid use of undefined type 'struct
workqueue_struct'
flush_workqueue(ctx->sqo_wq[i]);
^
vim +2571 fs/io_uring.c
2563
2564 #if defined(CONFIG_UNIX)
2565 static void io_destruct_skb(struct sk_buff *skb)
2566 {
2567 struct io_ring_ctx *ctx = skb->sk->sk_user_data;
2568 int i;
2569
2570 for (i = 0; i < ARRAY_SIZE(ctx->sqo_wq); i++)
2571 if (ctx->sqo_wq[i])
2572 flush_workqueue(ctx->sqo_wq[i]);
2573
2574 unix_destruct_scm(skb);
2575 }
2576
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation