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

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

 



Em Fri, Aug 26, 2022 at 09:47:59AM -0700, Yonghong Song escreveu:
> 
> 
> 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.

Check Jiri response, this doesn't seem to be enough.

- Arnaldo

> > 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)
> [...]

-- 

- Arnaldo



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux