Hi all, After merging the bitmap tree, today's linux-next build (powerpc ppc64_defconfig) failed like this: In file included from include/linux/cred.h:16, from include/linux/seq_file.h:13, from arch/powerpc/include/asm/machdep.h:6, from arch/powerpc/include/asm/archrandom.h:5, from include/linux/random.h:109, from include/linux/nodemask.h:97, from include/linux/list_lru.h:12, from include/linux/fs.h:13, from include/linux/compat.h:17, from arch/powerpc/kernel/asm-offsets.c:12: include/linux/sched.h:1203:9: error: unknown type name 'nodemask_t' 1203 | nodemask_t mems_allowed; | ^~~~~~~~~~ In file included from include/linux/gfp.h:7, from include/linux/percpu_counter.h:16, from include/linux/sched/user.h:7, from include/linux/cred.h:17, from include/linux/seq_file.h:13, from arch/powerpc/include/asm/machdep.h:6, from arch/powerpc/include/asm/archrandom.h:5, from include/linux/random.h:109, from include/linux/nodemask.h:97, from include/linux/list_lru.h:12, from include/linux/fs.h:13, from include/linux/compat.h:17, from arch/powerpc/kernel/asm-offsets.c:12: include/linux/mmzone.h:1166:41: error: unknown type name 'nodemask_t' 1166 | nodemask_t *nodes); | ^~~~~~~~~~ In file included from include/linux/gfp.h:7, from include/linux/percpu_counter.h:16, from include/linux/sched/user.h:7, from include/linux/cred.h:17, from include/linux/seq_file.h:13, from arch/powerpc/include/asm/machdep.h:6, from arch/powerpc/include/asm/archrandom.h:5, from include/linux/random.h:109, from include/linux/nodemask.h:97, from include/linux/list_lru.h:12, from include/linux/fs.h:13, from include/linux/compat.h:17, from arch/powerpc/kernel/asm-offsets.c:12: include/linux/mmzone.h:1185:41: error: unknown type name 'nodemask_t' 1185 | nodemask_t *nodes) | ^~~~~~~~~~ include/linux/mmzone.h:1211:41: error: unknown type name 'nodemask_t' 1211 | nodemask_t *nodes) | ^~~~~~~~~~ include/linux/mmzone.h:1254:39: error: unknown type name 'nodemask_t' 1254 | static inline bool movable_only_nodes(nodemask_t *nodes) | ^~~~~~~~~~ In file included from include/linux/percpu_counter.h:16, from include/linux/sched/user.h:7, from include/linux/cred.h:17, from include/linux/seq_file.h:13, from arch/powerpc/include/asm/machdep.h:6, from arch/powerpc/include/asm/archrandom.h:5, from include/linux/random.h:109, from include/linux/nodemask.h:97, from include/linux/list_lru.h:12, from include/linux/fs.h:13, from include/linux/compat.h:17, from arch/powerpc/kernel/asm-offsets.c:12: include/linux/gfp.h:198:17: error: unknown type name 'nodemask_t' 198 | nodemask_t *nodemask); | ^~~~~~~~~~ include/linux/gfp.h:200:17: error: unknown type name 'nodemask_t' 200 | nodemask_t *nodemask); | ^~~~~~~~~~ include/linux/gfp.h:203:33: error: unknown type name 'nodemask_t' 203 | nodemask_t *nodemask, int nr_pages, | ^~~~~~~~~~ include/linux/gfp.h: In function 'alloc_pages_bulk_list': include/linux/gfp.h:215:16: error: implicit declaration of function '__alloc_pages_bulk'; did you mean 'alloc_pages_bulk_list'? [-Werror=implicit-function-declaration] 215 | return __alloc_pages_bulk(gfp, numa_mem_id(), NULL, nr_pages, list, NULL); | ^~~~~~~~~~~~~~~~~~ | alloc_pages_bulk_list In file included from include/linux/container_of.h:5, from include/linux/list.h:5, from include/linux/preempt.h:11, from include/linux/spinlock.h:55, from include/linux/ipc.h:5, from include/uapi/linux/sem.h:5, from include/linux/sem.h:5, from include/linux/compat.h:14, from arch/powerpc/kernel/asm-offsets.c:12: include/linux/gfp.h: In function '__alloc_pages_node': include/linux/gfp.h:241:52: error: implicit declaration of function 'node_online'; did you mean 'node_zonelist'? [-Werror=implicit-function-declaration] 241 | VM_WARN_ON((gfp_mask & __GFP_THISNODE) && !node_online(nid)); | ^~~~~~~~~~~ include/linux/build_bug.h:30:63: note: in definition of macro 'BUILD_BUG_ON_INVALID' 30 | #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) | ^ include/linux/gfp.h:241:9: note: in expansion of macro 'VM_WARN_ON' 241 | VM_WARN_ON((gfp_mask & __GFP_THISNODE) && !node_online(nid)); | ^~~~~~~~~~ In file included from include/linux/percpu_counter.h:16, from include/linux/sched/user.h:7, from include/linux/cred.h:17, from include/linux/seq_file.h:13, from arch/powerpc/include/asm/machdep.h:6, from arch/powerpc/include/asm/archrandom.h:5, from include/linux/random.h:109, from include/linux/nodemask.h:97, from include/linux/list_lru.h:12, from include/linux/fs.h:13, from include/linux/compat.h:17, from arch/powerpc/kernel/asm-offsets.c:12: include/linux/gfp.h:243:16: error: implicit declaration of function '__alloc_pages'; did you mean '__add_pages'? [-Werror=implicit-function-declaration] 243 | return __alloc_pages(gfp_mask, order, nid, NULL); | ^~~~~~~~~~~~~ | __add_pages include/linux/gfp.h:243:16: warning: returning 'int' from a function with return type 'struct page *' makes pointer from integer without a cast [-Wint-conversion] 243 | return __alloc_pages(gfp_mask, order, nid, NULL); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/gfp.h: In function '__folio_alloc_node': include/linux/gfp.h:252:16: error: implicit declaration of function '__folio_alloc'; did you mean '__folio_alloc_node'? [-Werror=implicit-function-declaration] 252 | return __folio_alloc(gfp, order, nid, NULL); | ^~~~~~~~~~~~~ | __folio_alloc_node include/linux/gfp.h:252:16: warning: returning 'int' from a function with return type 'struct folio *' makes pointer from integer without a cast [-Wint-conversion] 252 | return __folio_alloc(gfp, order, nid, NULL); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/gfp.h: At top level: include/linux/gfp.h:366:49: error: unknown type name 'nodemask_t' 366 | int nid, nodemask_t *nodemask); | ^~~~~~~~~~ In file included from include/linux/mm.h:703, from include/linux/scatterlist.h:8, from include/linux/dma-mapping.h:10, from arch/powerpc/include/asm/machdep.h:8, from arch/powerpc/include/asm/archrandom.h:5, from include/linux/random.h:109, from include/linux/nodemask.h:97, from include/linux/list_lru.h:12, from include/linux/fs.h:13, from include/linux/compat.h:17, from arch/powerpc/kernel/asm-offsets.c:12: include/linux/huge_mm.h: In function '__transparent_hugepage_enabled': include/linux/huge_mm.h:166:13: error: implicit declaration of function 'vma_is_dax' [-Werror=implicit-function-declaration] 166 | if (vma_is_dax(vma)) | ^~~~~~~~~~ include/linux/huge_mm.h: In function 'file_thp_enabled': include/linux/huge_mm.h:183:29: error: invalid use of undefined type 'struct file' 183 | inode = vma->vm_file->f_inode; | ^~ include/linux/huge_mm.h:187:17: error: implicit declaration of function 'inode_is_open_for_write' [-Werror=implicit-function-declaration] 187 | !inode_is_open_for_write(inode) && S_ISREG(inode->i_mode); | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/stat.h:7, from include/linux/compat.h:12, from arch/powerpc/kernel/asm-offsets.c:12: include/linux/huge_mm.h:187:64: error: invalid use of undefined type 'struct inode' 187 | !inode_is_open_for_write(inode) && S_ISREG(inode->i_mode); | ^~ include/uapi/linux/stat.h:22:28: note: in definition of macro 'S_ISREG' 22 | #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) | ^ In file included from include/linux/scatterlist.h:8, from include/linux/dma-mapping.h:10, from arch/powerpc/include/asm/machdep.h:8, from arch/powerpc/include/asm/archrandom.h:5, from include/linux/random.h:109, from include/linux/nodemask.h:97, from include/linux/list_lru.h:12, from include/linux/fs.h:13, from include/linux/compat.h:17, from arch/powerpc/kernel/asm-offsets.c:12: include/linux/mm.h: At top level: include/linux/mm.h:1833:49: error: unknown type name 'nodemask_t' 1833 | extern void show_free_areas(unsigned int flags, nodemask_t *nodemask); | ^~~~~~~~~~ include/linux/mm.h: In function 'get_num_physpages': include/linux/mm.h:2518:9: error: implicit declaration of function 'for_each_online_node'; did you mean 'for_each_online_pgdat'? [-Werror=implicit-function-declaration] 2518 | for_each_online_node(nid) | ^~~~~~~~~~~~~~~~~~~~ | for_each_online_pgdat include/linux/mm.h:2518:34: error: expected ';' before 'phys_pages' 2518 | for_each_online_node(nid) | ^ | ; 2519 | phys_pages += node_present_pages(nid); | ~~~~~~~~~~ include/linux/mm.h: At top level: include/linux/mm.h:2569:42: error: unknown type name 'nodemask_t' 2569 | extern void show_mem(unsigned int flags, nodemask_t *nodemask); | ^~~~~~~~~~ include/linux/mm.h:2578:33: error: unknown type name 'nodemask_t' 2578 | void warn_alloc(gfp_t gfp_mask, nodemask_t *nodemask, const char *fmt, ...); | ^~~~~~~~~~ include/linux/mm.h: In function 'seal_check_future_write': include/linux/mm.h:3411:21: error: 'F_SEAL_FUTURE_WRITE' undeclared (first use in this function) 3411 | if (seals & F_SEAL_FUTURE_WRITE) { | ^~~~~~~~~~~~~~~~~~~ include/linux/mm.h:3411:21: note: each undeclared identifier is reported only once for each function it appears in In file included from include/linux/compat.h:17, from arch/powerpc/kernel/asm-offsets.c:12: include/linux/fs.h: At top level: include/linux/fs.h:2977:20: error: conflicting types for 'inode_is_open_for_write'; have 'bool(const struct inode *)' {aka '_Bool(const struct inode *)'} 2977 | static inline bool inode_is_open_for_write(const struct inode *inode) | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/mm.h:703, from include/linux/scatterlist.h:8, from include/linux/dma-mapping.h:10, from arch/powerpc/include/asm/machdep.h:8, from arch/powerpc/include/asm/archrandom.h:5, from include/linux/random.h:109, from include/linux/nodemask.h:97, from include/linux/list_lru.h:12, from include/linux/fs.h:13, from include/linux/compat.h:17, from arch/powerpc/kernel/asm-offsets.c:12: include/linux/huge_mm.h:187:17: note: previous implicit declaration of 'inode_is_open_for_write' with type 'int()' 187 | !inode_is_open_for_write(inode) && S_ISREG(inode->i_mode); | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/compat.h:17, from arch/powerpc/kernel/asm-offsets.c:12: include/linux/fs.h:3364:20: error: conflicting types for 'vma_is_dax'; have 'bool(const struct vm_area_struct *)' {aka '_Bool(const struct vm_area_struct *)'} 3364 | static inline bool vma_is_dax(const struct vm_area_struct *vma) | ^~~~~~~~~~ In file included from include/linux/mm.h:703, from include/linux/scatterlist.h:8, from include/linux/dma-mapping.h:10, from arch/powerpc/include/asm/machdep.h:8, from arch/powerpc/include/asm/archrandom.h:5, from include/linux/random.h:109, from include/linux/nodemask.h:97, from include/linux/list_lru.h:12, from include/linux/fs.h:13, from include/linux/compat.h:17, from arch/powerpc/kernel/asm-offsets.c:12: include/linux/huge_mm.h:166:13: note: previous implicit declaration of 'vma_is_dax' with type 'int()' 166 | if (vma_is_dax(vma)) | ^~~~~~~~~~ I am not sure which commit caused this. Though I suspect bbe8fb1a3c53 ("lib/nodemask: inline next_node_in() and node_random()") which added the include of random.h to nodemask.h I have used the bitmap tree from next-20220721 for today. -- Cheers, Stephen Rothwell
Attachment:
pgp6x2FbYzeGP.pgp
Description: OpenPGP digital signature