[tip:WIP.sched/core 144/162] include/linux/list.h:463:43: error: dereferencing pointer to incomplete type
From: kbuild test robot
Date: Mon Feb 06 2017 - 01:25:44 EST
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.sched/core
head: 38c7fc1c938c469af27c032bf4eab0c4aaf4eba1
commit: 73bfb7b2754f370ffb3ca8a7457f5edbd0dc3e54 [144/162] sched/headers: Remove the <linux/mm_types.h> dependency from <linux/sched.h>
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 4.9.0
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 73bfb7b2754f370ffb3ca8a7457f5edbd0dc3e54
# save the attached .config to linux build tree
make.cross ARCH=xtensa
All errors (new ones prefixed by >>):
In file included from include/linux/list.h:8:0,
from include/linux/module.h:9,
from drivers/video/fbdev/auo_k190x.c:11:
drivers/video/fbdev/auo_k190x.c: In function 'auok190xfb_dpy_deferred_io':
>> include/linux/list.h:463:43: error: dereferencing pointer to incomplete type
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/kernel.h:850:18: note: in definition of macro 'container_of'
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
include/linux/list.h:376:2: note: in expansion of macro 'list_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:463:13: note: in expansion of macro 'list_first_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
drivers/video/fbdev/auo_k190x.c:330:2: note: in expansion of macro 'list_for_each_entry'
list_for_each_entry(cur, &fbdefio->pagelist, lru) {
^
include/linux/kernel.h:850:48: warning: initialization from incompatible pointer type
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
include/linux/list.h:365:2: note: in expansion of macro 'container_of'
container_of(ptr, type, member)
^
include/linux/list.h:376:2: note: in expansion of macro 'list_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:463:13: note: in expansion of macro 'list_first_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
drivers/video/fbdev/auo_k190x.c:330:2: note: in expansion of macro 'list_for_each_entry'
list_for_each_entry(cur, &fbdefio->pagelist, lru) {
^
>> include/linux/list.h:463:43: error: dereferencing pointer to incomplete type
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/kernel.h:851:3: note: in definition of macro 'container_of'
(type *)( (char *)__mptr - offsetof(type,member) );})
^
include/linux/list.h:376:2: note: in expansion of macro 'list_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:463:13: note: in expansion of macro 'list_first_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
drivers/video/fbdev/auo_k190x.c:330:2: note: in expansion of macro 'list_for_each_entry'
list_for_each_entry(cur, &fbdefio->pagelist, lru) {
^
In file included from include/linux/compiler.h:58:0,
from include/uapi/linux/stddef.h:1,
from include/linux/stddef.h:4,
from include/uapi/linux/posix_types.h:4,
from include/uapi/linux/types.h:13,
from include/linux/types.h:5,
from include/linux/list.h:4,
from include/linux/module.h:9,
from drivers/video/fbdev/auo_k190x.c:11:
>> include/linux/list.h:463:43: error: dereferencing pointer to incomplete type
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/compiler-gcc.h:159:21: note: in definition of macro '__compiler_offsetof'
__builtin_offsetof(a, b)
^
include/linux/kernel.h:851:29: note: in expansion of macro 'offsetof'
(type *)( (char *)__mptr - offsetof(type,member) );})
^
include/linux/list.h:365:2: note: in expansion of macro 'container_of'
container_of(ptr, type, member)
^
include/linux/list.h:376:2: note: in expansion of macro 'list_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:463:13: note: in expansion of macro 'list_first_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
drivers/video/fbdev/auo_k190x.c:330:2: note: in expansion of macro 'list_for_each_entry'
list_for_each_entry(cur, &fbdefio->pagelist, lru) {
^
In file included from include/linux/module.h:9:0,
from drivers/video/fbdev/auo_k190x.c:11:
include/linux/list.h:464:11: error: dereferencing pointer to incomplete type
&pos->member != (head); \
^
drivers/video/fbdev/auo_k190x.c:330:2: note: in expansion of macro 'list_for_each_entry'
list_for_each_entry(cur, &fbdefio->pagelist, lru) {
^
In file included from include/linux/list.h:8:0,
from include/linux/module.h:9,
from drivers/video/fbdev/auo_k190x.c:11:
include/linux/list.h:409:40: error: dereferencing pointer to incomplete type
list_entry((pos)->member.next, typeof(*(pos)), member)
^
include/linux/kernel.h:850:18: note: in definition of macro 'container_of'
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
include/linux/list.h:409:2: note: in expansion of macro 'list_entry'
list_entry((pos)->member.next, typeof(*(pos)), member)
^
include/linux/list.h:465:13: note: in expansion of macro 'list_next_entry'
pos = list_next_entry(pos, member))
^
drivers/video/fbdev/auo_k190x.c:330:2: note: in expansion of macro 'list_for_each_entry'
list_for_each_entry(cur, &fbdefio->pagelist, lru) {
^
include/linux/list.h:409:18: error: dereferencing pointer to incomplete type
list_entry((pos)->member.next, typeof(*(pos)), member)
^
include/linux/kernel.h:850:49: note: in definition of macro 'container_of'
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
include/linux/list.h:409:2: note: in expansion of macro 'list_entry'
list_entry((pos)->member.next, typeof(*(pos)), member)
^
include/linux/list.h:465:13: note: in expansion of macro 'list_next_entry'
pos = list_next_entry(pos, member))
^
drivers/video/fbdev/auo_k190x.c:330:2: note: in expansion of macro 'list_for_each_entry'
list_for_each_entry(cur, &fbdefio->pagelist, lru) {
^
include/linux/list.h:409:40: error: dereferencing pointer to incomplete type
list_entry((pos)->member.next, typeof(*(pos)), member)
^
include/linux/kernel.h:851:3: note: in definition of macro 'container_of'
(type *)( (char *)__mptr - offsetof(type,member) );})
^
include/linux/list.h:409:2: note: in expansion of macro 'list_entry'
list_entry((pos)->member.next, typeof(*(pos)), member)
^
include/linux/list.h:465:13: note: in expansion of macro 'list_next_entry'
pos = list_next_entry(pos, member))
^
drivers/video/fbdev/auo_k190x.c:330:2: note: in expansion of macro 'list_for_each_entry'
list_for_each_entry(cur, &fbdefio->pagelist, lru) {
^
In file included from include/linux/compiler.h:58:0,
from include/uapi/linux/stddef.h:1,
from include/linux/stddef.h:4,
from include/uapi/linux/posix_types.h:4,
from include/uapi/linux/types.h:13,
from include/linux/types.h:5,
from include/linux/list.h:4,
from include/linux/module.h:9,
from drivers/video/fbdev/auo_k190x.c:11:
include/linux/list.h:409:40: error: dereferencing pointer to incomplete type
list_entry((pos)->member.next, typeof(*(pos)), member)
^
include/linux/compiler-gcc.h:159:21: note: in definition of macro '__compiler_offsetof'
__builtin_offsetof(a, b)
^
include/linux/kernel.h:851:29: note: in expansion of macro 'offsetof'
(type *)( (char *)__mptr - offsetof(type,member) );})
^
include/linux/list.h:365:2: note: in expansion of macro 'container_of'
container_of(ptr, type, member)
^
include/linux/list.h:409:2: note: in expansion of macro 'list_entry'
list_entry((pos)->member.next, typeof(*(pos)), member)
^
include/linux/list.h:465:13: note: in expansion of macro 'list_next_entry'
pos = list_next_entry(pos, member))
^
drivers/video/fbdev/auo_k190x.c:330:2: note: in expansion of macro 'list_for_each_entry'
list_for_each_entry(cur, &fbdefio->pagelist, lru) {
^
>> drivers/video/fbdev/auo_k190x.c:333:13: error: dereferencing pointer to incomplete type
y1 = (cur->index << PAGE_SHIFT) / line_length;
^
drivers/video/fbdev/auo_k190x.c:335:18: error: dereferencing pointer to incomplete type
} else if ((cur->index - prev_index) <= threshold) {
^
drivers/video/fbdev/auo_k190x.c:337:21: error: dereferencing pointer to incomplete type
h += h_inc * (cur->index - prev_index);
^
drivers/video/fbdev/auo_k190x.c:343:13: error: dereferencing pointer to incomplete type
y1 = (cur->index << PAGE_SHIFT) / line_length;
^
drivers/video/fbdev/auo_k190x.c:346:19: error: dereferencing pointer to incomplete type
prev_index = cur->index;
^
vim +463 include/linux/list.h
^1da177e Linus Torvalds 2005-04-16 457 * list_for_each_entry - iterate over list of given type
8e3a67a9 Randy Dunlap 2006-06-25 458 * @pos: the type * to use as a loop cursor.
^1da177e Linus Torvalds 2005-04-16 459 * @head: the head for your list.
3943f42c Andrey Utkin 2014-11-14 460 * @member: the name of the list_head within the struct.
^1da177e Linus Torvalds 2005-04-16 461 */
^1da177e Linus Torvalds 2005-04-16 462 #define list_for_each_entry(pos, head, member) \
93be3c2e Oleg Nesterov 2013-11-12 @463 for (pos = list_first_entry(head, typeof(*pos), member); \
e66eed65 Linus Torvalds 2011-05-19 464 &pos->member != (head); \
8120e2e5 Oleg Nesterov 2013-11-12 465 pos = list_next_entry(pos, member))
^1da177e Linus Torvalds 2005-04-16 466
:::::: The code at line 463 was first introduced by commit
:::::: 93be3c2eb3371f022ad88acf1ab6bee8e3c38378 list: introduce list_last_entry(), use list_{first,last}_entry()
:::::: TO: Oleg Nesterov <oleg@xxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip