[tip:tmp.tmp2 108/364] include/linux/sched.h:867:20: error: array type has incomplete element type 'struct held_lock'

From: kernel test robot
Date: Sun Jun 13 2021 - 16:53:41 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git tmp.tmp2
head: adcceb5eb7aee38e4a9c15bdf599655f0e1b1324
commit: a8bbfcd6b3ffac4ebcc0deb770d628fe6b8f2d05 [108/364] sched/headers: Remove <linux/mutex.h> from <linux/sched.h>
config: riscv-allyesconfig (attached as .config)
compiler: riscv64-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://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=a8bbfcd6b3ffac4ebcc0deb770d628fe6b8f2d05
git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
git fetch --no-tags tip tmp.tmp2
git checkout a8bbfcd6b3ffac4ebcc0deb770d628fe6b8f2d05
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=riscv

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from arch/riscv/kernel/asm-offsets.c:10:
>> include/linux/sched.h:867:20: error: array type has incomplete element type 'struct held_lock'
867 | struct held_lock held_locks[MAX_LOCK_DEPTH];
| ^~~~~~~~~~
In file included from arch/riscv/kernel/asm-offsets.c:9:
arch/riscv/kernel/asm-offsets.c: In function 'asm_offsets':
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
11 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~~~
arch/riscv/kernel/asm-offsets.c:18:2: note: in expansion of macro 'OFFSET'
18 | OFFSET(TASK_THREAD_RA, task_struct, thread.ra);
| ^~~~~~
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
11 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~~~
arch/riscv/kernel/asm-offsets.c:19:2: note: in expansion of macro 'OFFSET'
19 | OFFSET(TASK_THREAD_SP, task_struct, thread.sp);
| ^~~~~~
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
11 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~~~
arch/riscv/kernel/asm-offsets.c:20:2: note: in expansion of macro 'OFFSET'
20 | OFFSET(TASK_THREAD_S0, task_struct, thread.s[0]);
| ^~~~~~
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
11 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~~~
arch/riscv/kernel/asm-offsets.c:21:2: note: in expansion of macro 'OFFSET'
21 | OFFSET(TASK_THREAD_S1, task_struct, thread.s[1]);
| ^~~~~~
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
11 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~~~
arch/riscv/kernel/asm-offsets.c:22:2: note: in expansion of macro 'OFFSET'
22 | OFFSET(TASK_THREAD_S2, task_struct, thread.s[2]);
| ^~~~~~
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
11 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~~~
arch/riscv/kernel/asm-offsets.c:23:2: note: in expansion of macro 'OFFSET'
23 | OFFSET(TASK_THREAD_S3, task_struct, thread.s[3]);
| ^~~~~~
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
--
In file included from arch/riscv/kernel/asm-offsets.c:10:
>> include/linux/sched.h:867:20: error: array type has incomplete element type 'struct held_lock'
867 | struct held_lock held_locks[MAX_LOCK_DEPTH];
| ^~~~~~~~~~
In file included from arch/riscv/kernel/asm-offsets.c:9:
arch/riscv/kernel/asm-offsets.c: In function 'asm_offsets':
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
11 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~~~
arch/riscv/kernel/asm-offsets.c:18:2: note: in expansion of macro 'OFFSET'
18 | OFFSET(TASK_THREAD_RA, task_struct, thread.ra);
| ^~~~~~
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
11 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~~~
arch/riscv/kernel/asm-offsets.c:19:2: note: in expansion of macro 'OFFSET'
19 | OFFSET(TASK_THREAD_SP, task_struct, thread.sp);
| ^~~~~~
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
11 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~~~
arch/riscv/kernel/asm-offsets.c:20:2: note: in expansion of macro 'OFFSET'
20 | OFFSET(TASK_THREAD_S0, task_struct, thread.s[0]);
| ^~~~~~
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
11 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~~~
arch/riscv/kernel/asm-offsets.c:21:2: note: in expansion of macro 'OFFSET'
21 | OFFSET(TASK_THREAD_S1, task_struct, thread.s[1]);
| ^~~~~~
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
11 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~~~
arch/riscv/kernel/asm-offsets.c:22:2: note: in expansion of macro 'OFFSET'
22 | OFFSET(TASK_THREAD_S2, task_struct, thread.s[2]);
| ^~~~~~
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
11 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~~~
arch/riscv/kernel/asm-offsets.c:23:2: note: in expansion of macro 'OFFSET'
23 | OFFSET(TASK_THREAD_S3, task_struct, thread.s[3]);
| ^~~~~~
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
--
In file included from arch/riscv/kernel/asm-offsets.c:10:
>> include/linux/sched.h:867:20: error: array type has incomplete element type 'struct held_lock'
867 | struct held_lock held_locks[MAX_LOCK_DEPTH];
| ^~~~~~~~~~
In file included from arch/riscv/kernel/asm-offsets.c:9:
arch/riscv/kernel/asm-offsets.c: In function 'asm_offsets':
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
11 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~~~
arch/riscv/kernel/asm-offsets.c:18:2: note: in expansion of macro 'OFFSET'
18 | OFFSET(TASK_THREAD_RA, task_struct, thread.ra);
| ^~~~~~
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
11 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~~~
arch/riscv/kernel/asm-offsets.c:19:2: note: in expansion of macro 'OFFSET'
19 | OFFSET(TASK_THREAD_SP, task_struct, thread.sp);
| ^~~~~~
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
11 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~~~
arch/riscv/kernel/asm-offsets.c:20:2: note: in expansion of macro 'OFFSET'
20 | OFFSET(TASK_THREAD_S0, task_struct, thread.s[0]);
| ^~~~~~
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
11 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~~~
arch/riscv/kernel/asm-offsets.c:21:2: note: in expansion of macro 'OFFSET'
21 | OFFSET(TASK_THREAD_S1, task_struct, thread.s[1]);
| ^~~~~~
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
11 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~~~
arch/riscv/kernel/asm-offsets.c:22:2: note: in expansion of macro 'OFFSET'
22 | OFFSET(TASK_THREAD_S2, task_struct, thread.s[2]);
| ^~~~~~
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
11 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~~~
arch/riscv/kernel/asm-offsets.c:23:2: note: in expansion of macro 'OFFSET'
23 | OFFSET(TASK_THREAD_S3, task_struct, thread.s[3]);
| ^~~~~~
include/linux/compiler_types.h:140:35: error: 'struct task_struct' has no member named 'thread'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
6 | asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
| ^~~


vim +867 include/linux/sched.h

5eca1c10cbaa9c Ingo Molnar 2017-02-06 861
fbb9ce9530fd9b Ingo Molnar 2006-07-03 862 #ifdef CONFIG_LOCKDEP
bdb9441e9c325d Peter Zijlstra 2008-02-25 863 # define MAX_LOCK_DEPTH 48UL
fbb9ce9530fd9b Ingo Molnar 2006-07-03 864 u64 curr_chain_key;
fbb9ce9530fd9b Ingo Molnar 2006-07-03 865 int lockdep_depth;
fbb9ce9530fd9b Ingo Molnar 2006-07-03 866 unsigned int lockdep_recursion;
c7aceaba042702 Richard Kennedy 2008-05-15 @867 struct held_lock held_locks[MAX_LOCK_DEPTH];
fbb9ce9530fd9b Ingo Molnar 2006-07-03 868 #endif
5eca1c10cbaa9c Ingo Molnar 2017-02-06 869

:::::: The code at line 867 was first introduced by commit
:::::: c7aceaba042702538b23cf4e0de1b2891ad8e671 sched: reorder task_struct to reduce padding on 64bit builds

:::::: TO: Richard Kennedy <richard@xxxxxxxxxxxxxxx>
:::::: CC: Ingo Molnar <mingo@xxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip