Re: pahole v1.24: FAILED: load BTF from vmlinux: Invalid argument

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 8/25/22 7:59 PM, Vitaly Chikunov wrote:
On Fri, Aug 26, 2022 at 05:52:20AM +0300, Vitaly Chikunov wrote:
Arnaldo,

On Thu, Aug 25, 2022 at 08:16:20PM +0300, Vitaly Chikunov wrote:
On Thu, Aug 25, 2022 at 01:47:59PM -0300, Arnaldo Carvalho de Melo wrote:
On Thu, Aug 25, 2022, 1:35 PM Vitaly Chikunov <vt@xxxxxxxxxxxx> wrote:

I also noticed that after upgrading pahole to v1.24 kernel build (tested on
v5.18.19, v5.15.63, sorry for not testing on mainline) fails with:

     BTFIDS  vmlinux
   + ./tools/bpf/resolve_btfids/resolve_btfids vmlinux
   FAILED: load BTF from vmlinux: Invalid argument

Perhaps, .tmp_vmlinux.btf is generated incorrectly? Downgrading dwarves to
v1.23 resolves the issue.


Can you try this, from Martin Reboredo (Archlinux):

Can you try a build of the kernel or the by passing the
--skip_encoding_btf_enum64 to scripts/pahole-flags.sh?

Here's a patch for either in tree scripts/pahole-flags.sh or
/usr/lib/modules/5.19.3-arch1-1/build/scripts/pahole-flags.sh

This patch helped and kernel builds successfully after applying it.
(Didn't notice this suggestion in release discussion thread.)

Even thought it now compiles with this patch, it does not boot
afterwards (in virtme-like env), witch such console messages:

I'm talking here about 5.15.62. Yes, proposed patch does not apply there
(since there is no `scripts/pahole-flags.sh`), but I updated
`scripts/link-vmlinux.sh` with the similar `if` to append
`--skip_encoding_btf_enum64` which lets then compilation pass.

Right, pahole v1.24 supports enum64 to correctly encode
some big 64bit values in BTF. But enum64 is only supported
in recent kernels. For old kernels, --skip_encoding_btf_enum64
is the way to workaround the issue.


Thanks,


   [    0.767649] Run /init as init process
   [    0.770858] BPF:[593] ENUM perf_event_task_context
   [    0.771262] BPF:size=4 vlen=4
   [    0.771511] BPF:
   [    0.771680] BPF:Invalid btf_info kind_flag
   [    0.772016] BPF:
   [    0.772016]
   [    0.772288] failed to validate module [9pnet] BTF: -22
   init_module '9pnet.ko' error -1
   [    0.785515] 9p: Unknown symbol p9_client_getattr_dotl (err -2)
   [    0.786005] 9p: Unknown symbol p9_client_wstat (err -2)
   [    0.786438] 9p: Unknown symbol p9_client_open (err -2)
   [    0.786863] 9p: Unknown symbol p9_client_rename (err -2)
   [    0.787307] 9p: Unknown symbol p9_client_remove (err -2)
   [    0.787749] 9p: Unknown symbol p9_client_renameat (err -2)
[...]



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux