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: x86_64-randconfig-a001-201941 (attached as .config)
compiler: gcc-5 (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010
reproduce:
git checkout b62612cacd5c4efe4a74d437654dba8d622f21c4
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
fs/io_uring.c: In function 'io_destruct_skb':
fs/io_uring.c:2570:2: error: invalid use of undefined type 'struct
workqueue_struct'
for (i = 0; i < ARRAY_SIZE(ctx->sqo_wq); i++)
^
In file included from fs/io_uring.c:42:0:
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/build_bug.h:16:45: error: invalid use of undefined
type 'struct workqueue_struct'
#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++)
^
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:3: error: invalid use of undefined type 'struct
workqueue_struct'
if (ctx->sqo_wq[i])
^
fs/io_uring.c:2572:4: error: invalid use of undefined type 'struct
workqueue_struct'
flush_workqueue(ctx->sqo_wq[i]);
^
vim +16 include/linux/build_bug.h
bc6245e5efd70c Ian Abbott 2017-07-10 6
bc6245e5efd70c Ian Abbott 2017-07-10 7 #ifdef __CHECKER__
bc6245e5efd70c Ian Abbott 2017-07-10 8 #define BUILD_BUG_ON_ZERO(e) (0)
bc6245e5efd70c Ian Abbott 2017-07-10 9 #else /* __CHECKER__ */
bc6245e5efd70c Ian Abbott 2017-07-10 10 /*
bc6245e5efd70c Ian Abbott 2017-07-10 11 * Force a compilation error if condition
is true, but also produce a
bc6245e5efd70c Ian Abbott 2017-07-10 12 * result (of value 0 and type size_t), so
the expression can be used
bc6245e5efd70c Ian Abbott 2017-07-10 13 * e.g. in a structure initializer (or
where-ever else comma expressions
bc6245e5efd70c Ian Abbott 2017-07-10 14 * aren't permitted).
bc6245e5efd70c Ian Abbott 2017-07-10 15 */
bc6245e5efd70c Ian Abbott 2017-07-10 @16 #define BUILD_BUG_ON_ZERO(e) (sizeof(struct
{ int:(-!!(e)); }))
527edbc18a70e7 Masahiro Yamada 2019-01-03 17 #endif /* __CHECKER__ */
527edbc18a70e7 Masahiro Yamada 2019-01-03 18
:::::: The code at line 16 was first introduced by commit
:::::: bc6245e5efd70c41eaf9334b1b5e646745cb0fb3 bug: split BUILD_BUG stuff out into
<linux/build_bug.h>
:::::: TO: Ian Abbott <abbotti(a)mev.co.uk>
:::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation