BUG in pahole?: strange error in tests/flexible_arrays.sh

Tony Ambardar
2025-05-02T02:39:11Z

[-- Attachment #1: Type: text/plain, Size: 2008 bytes --]

Hello all,

I ran into the following running the latest pahole tests:

$ vmlinux=~/linux/vmlinux ./tests/tests
1: Validation of BTF encoding of functions; this may take some time: Ok
2: Default BTF on a system without BTF: Ok
3: Flexible arrays accounting: pahole: type 'bpf_empty_prog_array' not found
pahole: type 'kstatmount' not found
pahole: type 'crypto_lskcipher' not found
pahole: type 'crypto_sig' not found
pahole: type 'hash_ctx' not found
pahole: type 'scsi_stream_status_header' not found
pahole: type 'virtnet_info' not found
pahole: type 'geneve_dev' not found
pahole: type 'geneve_config' not found
pahole: type 'lirc_fh' not found
pahole: type 'scmi_registered_events_desc' not found
pahole: type 'events_queue' not found
pahole: type 'hid_debug_list' not found
pahole: type 'flow_offload_action' not found
pahole: type 'nft_rule_dp_last' not found
pahole: type 'nft_rhash_elem' not found
pahole: type 'nft_hash_elem' not found
pahole: type 'nft_bitmap_elem' not found
pahole: type 'nft_rbtree_elem' not found
pahole: type 'nft_pipapo_elem' not found
pahole: type 'xt_standard_target' not found
pahole: type 'xt_error_target' not found
pahole: type 'ipt_standard' not found
pahole: type 'ipt_error' not found
pahole: type 'ip6t_standard' not found
pahole: type 'ip6t_error' not found

This is simple to reproduce (e.g. code in flexible_arrays.sh):

$ pahole kstatmount ~/linux/vmlinux
pahole: type 'kstatmount' not found

But despite the above:

$ bpftool btf dump file ~/linux/vmlinux format raw|grep kstatmount
[13145] STRUCT 'kstatmount' size=624 vlen=8

And:

$ pahole -C kstatmount ~/linux/vmlinux
struct kstatmount {
struct statmount * buf; /* 0 4 */
...
};

Has this been seen before? Am I missing something? Any insight folks have
would be appreciated.

The same behaviour is also seen with '.tmp_vmlinux1.btf.o', which I attach.

Many thanks,
Tony Ambardar

[-- Attachment #2: .tmp_vmlinux1.btf.o.gz --]
[-- Type: application/gzip, Size: 1394693 bytes --]