tree: https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git kspp/memcpy/next-20210803/v2-devel head: 4752984fc24104f399e70f99d48afa047d86a381 commit: 0f28d9daf643a1110bc7536f590e60035ba17635 [73/86] treewide: Replace open-coded flex array unions config: x86_64-rhel-8.3-kselftests (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=1 build): # https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/commit/?id=0f28d9daf643a1110bc7536f590e60035ba17635 git remote add kees https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git git fetch --no-tags kees kspp/memcpy/next-20210803/v2-devel git checkout 0f28d9daf643a1110bc7536f590e60035ba17635 # save the attached .config to linux build tree mkdir build_dir make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash -C tools/testing/selftests/bpf install If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All error/warnings (new ones prefixed by >>): In file included from progs/profiler2.c:6: >> progs/profiler.inc.h:70:8: error: redefinition of 'kernfs_node___52' struct kernfs_node___52 { ^ /tools/include/vmlinux.h:367109:8: note: previous definition is here struct kernfs_node___52 { ^ In file included from progs/profiler2.c:6: >> progs/profiler.inc.h:237:38: error: member reference base type 'u64' (aka 'unsigned long long') is not a structure or union if (bpf_core_field_exists(node52->id.ino)) { ~~~~~~~~~~^~~~ /tools/include/bpf/bpf_core_read.h:120:32: note: expanded from macro 'bpf_core_field_exists' __builtin_preserve_field_info(field, BPF_FIELD_EXISTS) ^~~~~ In file included from progs/profiler2.c:6: progs/profiler.inc.h:239:34: error: member reference base type 'u64' (aka 'unsigned long long') is not a structure or union return BPF_CORE_READ(node52, id.ino); ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ /tools/include/bpf/bpf_core_read.h:403:17: note: expanded from macro 'BPF_CORE_READ' ___type((src), a, ##__VA_ARGS__) __r; \ ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ /tools/include/bpf/bpf_core_read.h:274:38: note: expanded from macro '___type' #define ___type(...) typeof(___arrow(__VA_ARGS__)) ~~~~~~~~~^~~~~~~~~~~~ /tools/include/bpf/bpf_core_read.h:272:64: note: expanded from macro '___arrow' #define ___arrow(...) ___apply(___arrow, ___narg(__VA_ARGS__))(__VA_ARGS__) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ /tools/include/bpf/bpf_core_read.h:263:28: note: expanded from macro '___arrow2' #define ___arrow2(a, b) a->b ~~~^ In file included from progs/profiler2.c:6: progs/profiler.inc.h:239:34: error: member reference base type 'u64' (aka 'unsigned long long') is not a structure or union return BPF_CORE_READ(node52, id.ino); ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ /tools/include/bpf/bpf_core_read.h:404:34: note: expanded from macro 'BPF_CORE_READ' BPF_CORE_READ_INTO(&__r, (src), a, ##__VA_ARGS__); \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ /tools/include/bpf/bpf_core_read.h:312:20: note: expanded from macro 'BPF_CORE_READ_INTO' dst, (src), a, ##__VA_ARGS__) \ ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ /tools/include/bpf/bpf_core_read.h:303:18: note: expanded from macro '___core_read' src, a, ##__VA_ARGS__) ~~~~~^~~~~~~~~~~~~~~~~ /tools/include/bpf/bpf_core_read.h:296:38: note: expanded from macro '___core_read0' ___read(fn, dst, ___type(src), src, a); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /tools/include/bpf/bpf_core_read.h:277:61: note: expanded from macro '___read' read_fn((void *)(dst), sizeof(*(dst)), &((src_type)(src))->accessor) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ /tools/include/bpf/bpf_core_read.h:206:79: note: expanded from macro 'bpf_core_read' bpf_probe_read_kernel(dst, sz, (const void *)__builtin_preserve_access_index(src)) ^~~ In file included from progs/profiler2.c:6: >> progs/profiler.inc.h:239:10: error: returning 'void' from a function with incompatible result type 'ino_t' (aka 'unsigned long') return BPF_CORE_READ(node52, id.ino); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /tools/include/bpf/bpf_core_read.h:402:36: note: expanded from macro 'BPF_CORE_READ' #define BPF_CORE_READ(src, a, ...) ({ \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 errors generated. -- progs/bpf_iter_tcp6.c:58:8: warning: incompatible pointer types assigning to 'const struct inode *' from 'struct inode___49 *' [-Wincompatible-pointer-types] inode = &container_of(sk_socket, struct socket_alloc, socket)->vfs_inode; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> progs/bpf_iter_tcp6.c:89:7: warning: incompatible pointer types assigning to 'const struct inet_sock *' from 'const struct inet_sock___5 *' [-Wincompatible-pointer-types] inet = &icsk->icsk_inet; ^ ~~~~~~~~~~~~~~~~ progs/bpf_iter_tcp6.c:90:5: warning: incompatible pointer types assigning to 'const struct sock *' from 'const struct sock___38 *' [-Wincompatible-pointer-types] sp = &inet->sk; ^ ~~~~~~~~~ progs/bpf_iter_tcp6.c:185:23: warning: incompatible pointer types initializing 'struct request_sock *' with an expression of type 'struct request_sock___53 *' [-Wincompatible-pointer-types] struct request_sock *req = &irsk->req; ^ ~~~~~~~~~~ 4 warnings generated. -- progs/bpf_iter_udp4.c:19:8: warning: incompatible pointer types assigning to 'const struct inode *' from 'struct inode___49 *' [-Wincompatible-pointer-types] inode = &container_of(sk_socket, struct socket_alloc, socket)->vfs_inode; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> progs/bpf_iter_udp4.c:46:7: warning: incompatible pointer types assigning to 'struct inet_sock *' from 'struct inet_sock___2 *' [-Wincompatible-pointer-types] inet = &udp_sk->inet; ^ ~~~~~~~~~~~~~ progs/bpf_iter_udp4.c:50:7: warning: incompatible pointer types assigning to 'struct inet_sock *' from 'struct inet_sock___2 *' [-Wincompatible-pointer-types] inet = &udp_sk->inet; ^ ~~~~~~~~~~~~~ progs/bpf_iter_udp4.c:65:21: warning: incompatible pointer types passing 'struct sock___38 *' to parameter of type 'const struct sock *' [-Wincompatible-pointer-types] sock_i_ino(&inet->sk), ^~~~~~~~~ /tools/include/bpf/bpf_helpers.h:202:24: note: expanded from macro 'BPF_SEQ_PRINTF' ___bpf_fill(___param, args); \ ^~~~ /tools/include/bpf/bpf_helpers.h:189:55: note: expanded from macro '___bpf_fill' ___bpf_apply(___bpf_fill, ___bpf_narg(args))(arr, 0, args) ^~~~ /tools/include/bpf/bpf_helpers.h:187:81: note: expanded from macro '___bpf_fill12' #define ___bpf_fill12(arr, p, x, args...) arr[p] = x; ___bpf_fill11(arr, p + 1, args) ^~~~ note: (skipping 5 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) /tools/include/bpf/bpf_helpers.h:181:79: note: expanded from macro '___bpf_fill6' #define ___bpf_fill6(arr, p, x, args...) arr[p] = x; ___bpf_fill5(arr, p + 1, args) ^~~~ /tools/include/bpf/bpf_helpers.h:180:79: note: expanded from macro '___bpf_fill5' #define ___bpf_fill5(arr, p, x, args...) arr[p] = x; ___bpf_fill4(arr, p + 1, args) ^~~~ /tools/include/bpf/bpf_helpers.h:179:51: note: expanded from macro '___bpf_fill4' #define ___bpf_fill4(arr, p, x, args...) arr[p] = x; ___bpf_fill3(arr, p + 1, args) ^ progs/bpf_iter_udp4.c:10:43: note: passing argument to parameter 'sk' here static long sock_i_ino(const struct sock *sk) ^ 4 warnings generated. -- progs/bpf_iter_udp6.c:26:8: warning: incompatible pointer types assigning to 'const struct inode *' from 'struct inode___49 *' [-Wincompatible-pointer-types] inode = &container_of(sk_socket, struct socket_alloc, socket)->vfs_inode; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> progs/bpf_iter_udp6.c:54:7: warning: incompatible pointer types assigning to 'struct inet_sock *' from 'struct inet_sock___2 *' [-Wincompatible-pointer-types] inet = &udp_sk->inet; ^ ~~~~~~~~~~~~~ progs/bpf_iter_udp6.c:73:21: warning: incompatible pointer types passing 'struct sock___38 *' to parameter of type 'const struct sock *' [-Wincompatible-pointer-types] sock_i_ino(&inet->sk), ^~~~~~~~~ /tools/include/bpf/bpf_helpers.h:202:24: note: expanded from macro 'BPF_SEQ_PRINTF' ___bpf_fill(___param, args); \ ^~~~ /tools/include/bpf/bpf_helpers.h:189:55: note: expanded from macro '___bpf_fill' ___bpf_apply(___bpf_fill, ___bpf_narg(args))(arr, 0, args) ^~~~ /tools/include/bpf/bpf_helpers.h:187:81: note: expanded from macro '___bpf_fill12' #define ___bpf_fill12(arr, p, x, args...) arr[p] = x; ___bpf_fill11(arr, p + 1, args) ^~~~ note: (skipping 5 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) /tools/include/bpf/bpf_helpers.h:181:79: note: expanded from macro '___bpf_fill6' #define ___bpf_fill6(arr, p, x, args...) arr[p] = x; ___bpf_fill5(arr, p + 1, args) ^~~~ /tools/include/bpf/bpf_helpers.h:180:79: note: expanded from macro '___bpf_fill5' #define ___bpf_fill5(arr, p, x, args...) arr[p] = x; ___bpf_fill4(arr, p + 1, args) ^~~~ /tools/include/bpf/bpf_helpers.h:179:51: note: expanded from macro '___bpf_fill4' #define ___bpf_fill4(arr, p, x, args...) arr[p] = x; ___bpf_fill3(arr, p + 1, args) ^ progs/bpf_iter_udp6.c:17:43: note: passing argument to parameter 'sk' here static long sock_i_ino(const struct sock *sk) ^ 3 warnings generated. -- progs/bpf_iter_tcp4.c:58:8: warning: incompatible pointer types assigning to 'const struct inode *' from 'struct inode___49 *' [-Wincompatible-pointer-types] inode = &container_of(sk_socket, struct socket_alloc, socket)->vfs_inode; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> progs/bpf_iter_tcp4.c:89:7: warning: incompatible pointer types assigning to 'const struct inet_sock *' from 'const struct inet_sock___5 *' [-Wincompatible-pointer-types] inet = &icsk->icsk_inet; ^ ~~~~~~~~~~~~~~~~ progs/bpf_iter_tcp4.c:90:5: warning: incompatible pointer types assigning to 'const struct sock *' from 'const struct sock___38 *' [-Wincompatible-pointer-types] sp = &inet->sk; ^ ~~~~~~~~~ progs/bpf_iter_tcp4.c:176:23: warning: incompatible pointer types initializing 'struct request_sock *' with an expression of type 'struct request_sock___53 *' [-Wincompatible-pointer-types] struct request_sock *req = &irsk->req; ^ ~~~~~~~~~~ 4 warnings generated. -- >> progs/bpf_iter_ipv6_route.c:47:6: warning: incompatible pointer types assigning to 'const struct net_device *' from 'struct net_device___3 *' [-Wincompatible-pointer-types] dev = fib6_nh->fib_nh_dev; ^ ~~~~~~~~~~~~~~~~~~~ 1 warning generated. -- >> skeleton/pid_iter.bpf.c:44:15: warning: incompatible pointer types initializing 'struct file *' with an expression of type 'struct file___17 *' [-Wincompatible-pointer-types] struct file *file = ctx->file; ^ ~~~~~~~~~ >> skeleton/pid_iter.bpf.c:45:22: warning: incompatible pointer types initializing 'struct task_struct *' with an expression of type 'struct task_struct___16 *' [-Wincompatible-pointer-types] struct task_struct *task = ctx->task; ^ ~~~~~~~~~ >> skeleton/pid_iter.bpf.c:76:16: warning: incompatible pointer types passing 'struct seq_file___19 *' to parameter of type 'struct seq_file *' [-Wincompatible-pointer-types] bpf_seq_write(ctx->meta->seq, &e, sizeof(e)); ^~~~~~~~~~~~~~ 3 warnings generated. --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org