On Fri, Apr 14, 2023 at 06:15:41PM -0700, Alexei Starovoitov wrote: > On Fri, Apr 14, 2023 at 9:28 AM Andrea Righi <andrea.righi@xxxxxxxxxxxxx> wrote: > > > > On Fri, Apr 14, 2023 at 06:15:38PM +0200, Ilya Leoshkevich wrote: > > > On Fri, Apr 14, 2023 at 08:15:03AM +0200, Andrea Righi wrote: > > > > On Thu, Apr 13, 2023 at 09:56:00PM -0700, Alexei Starovoitov wrote: > > > > > On Wed, Apr 12, 2023 at 2:59 AM Andrea Righi <andrea.righi@xxxxxxxxxxxxx> wrote: > > > > > > > > > > > > Building bpf selftests with clang can trigger errors like the following: > > > > > > > > > > > > CLNG-BPF [test_maps] bpf_iter_netlink.bpf.o > > > > > > progs/bpf_iter_netlink.c:32:4: error: incompatible pointer types assigning to 'struct sock *' from 'struct sock___17 *' [-Werror,-Wincompatible-pointer-types] > > > > > > s = &nlk->sk; > > > > > > ^ ~~~~~~~~ > > > > > > 1 error generated. > > > > > > > > > > I cannot reproduce this and BPF CI doesn't complain about it either. > > > > > What kind of clang do you use? > > > > > Some special version and build flags? > > > > > > > > I'm using Ubuntu clang version 15.0.7 (Ubuntu 23.04), no special build > > > > flag (unless Ubuntu enables some different default flags, but it > > > > shouldn't be the case... I'll double check). > > > > > > > > -Andrea > > > > > > Hi, > > > > > > FWIW, I see similar errors when I don't use recent pahole. > > > > I'm using pahole v1.24. > > I believe Ilya is correct. > > struct sock___17 is likely coming from vmlinux.h > Which means that there were errors due vmlinux build which > caused multiple structs to be present in BTF > and therefore bpftool generated such broken vmlinux.h > > The BTF section in such vmlinux is likely much larger than normal. > Let's get to the bottom of it instead of masking build error. > > Please try pahole 1.25. Yay! Success. Everything is working fine with pahole 1.25. Please ignore my patch, the fix is to simply upgrade pahole. Thanks! -Andrea