On 5/25/20 5:49 AM, Stephen Rothwell wrote: > Hi all, > > Changes since 20200522: > on i386: ../fs/io_uring.c:500:26: error: field ‘wpq’ has incomplete type struct wait_page_queue wpq; ^~~ In file included from ../include/linux/export.h:43:0, from ../include/linux/linkage.h:7, from ../include/linux/kernel.h:8, from ../fs/io_uring.c:42: ../fs/io_uring.c: In function ‘io_async_buf_func’: ../include/linux/kernel.h:1003:51: error: dereferencing pointer to incomplete type ‘struct wait_page_queue’ BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^ ../include/linux/compiler.h:372:9: note: in definition of macro ‘__compiletime_assert’ if (!(condition)) \ ^~~~~~~~~ ../include/linux/compiler.h:392:2: note: in expansion of macro ‘_compiletime_assert’ _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^~~~~~~~~~~~~~~~~~~ ../include/linux/build_bug.h:39:37: note: in expansion of macro ‘compiletime_assert’ #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~~~~~~~~~~~~~~~~~ ../include/linux/kernel.h:1003:2: note: in expansion of macro ‘BUILD_BUG_ON_MSG’ BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~~~~~~ ../include/linux/kernel.h:1003:20: note: in expansion of macro ‘__same_type’ BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~ ../fs/io_uring.c:2618:8: note: in expansion of macro ‘container_of’ wpq = container_of(wait, struct wait_page_queue, wait); ^~~~~~~~~~~~ In file included from <command-line>:0:0: ./../include/linux/compiler_types.h:133:35: error: invalid use of undefined type ‘struct wait_page_queue’ #define __compiler_offsetof(a, b) __builtin_offsetof(a, b) ^ ../include/linux/stddef.h:17:32: note: in expansion of macro ‘__compiler_offsetof’ #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) ^~~~~~~~~~~~~~~~~~~ ../include/linux/kernel.h:1006:21: note: in expansion of macro ‘offsetof’ ((type *)(__mptr - offsetof(type, member))); }) ^~~~~~~~ ../fs/io_uring.c:2618:8: note: in expansion of macro ‘container_of’ wpq = container_of(wait, struct wait_page_queue, wait); ^~~~~~~~~~~~ ../fs/io_uring.c:2620:8: error: implicit declaration of function ‘wake_page_match’; did you mean ‘huge_page_mask’? [-Werror=implicit-function-declaration] ret = wake_page_match(wpq, key); ^~~~~~~~~~~~~~~ huge_page_mask AR sound/pci/ac97/built-in.a ../fs/io_uring.c: In function ‘io_rw_should_retry’: ../fs/io_uring.c:2667:8: error: implicit declaration of function ‘kiocb_wait_page_queue_init’; did you mean ‘pgdat_page_ext_init’? [-Werror=implicit-function-declaration] ret = kiocb_wait_page_queue_init(kiocb, &req->io->rw.wpq, ^~~~~~~~~~~~~~~~~~~~~~~~~~ pgdat_page_ext_init -- ~Randy Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>