Ah, this is the bug in pahole described in https://lkml.org/lkml/2020/8/20/1862. I proposed a fix [1] but it hasn't reached pahole's master branch. Let me ask Arnaldo to see if he is OK merging it.
[1] https://www.spinics.net/lists/dwarves/msg00451.html
On Tue, Sep 29, 2020 at 9:36 PM Alexei Starovoitov alexei.starovoitov@gmail.com wrote:
On Tue, Sep 29, 2020 at 4:50 PM Hao Luo haoluo@google.com wrote:
v3 -> v4:
- Rebasing
- Cast bpf_[per|this]_cpu_ptr's parameter to void __percpu * before passing into per_cpu_ptr.
Looks good, but doesn't work: ./test_progs -t ksyms_btf test_ksyms_btf:PASS:kallsyms_fopen 0 nsec test_ksyms_btf:PASS:ksym_find 0 nsec test_ksyms_btf:PASS:kallsyms_fopen 0 nsec test_ksyms_btf:PASS:ksym_find 0 nsec test_ksyms_btf:PASS:btf_exists 0 nsec libbpf: extern (ksym) 'bpf_prog_active': incompatible types, expected [4] int int, but kernel has [18729] var bpf_user_rnd_state libbpf: failed to load object 'test_ksyms_btf' libbpf: failed to load BPF skeleton 'test_ksyms_btf': -22 test_ksyms_btf:FAIL:skel_open failed to open and load skeleton #43 ksyms_btf:FAIL
I have the latest pahole from master. Any ideas?