All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vitaly Chikunov <vt@altlinux.org>
To: Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>,
	dwarves@vger.kernel.org, bpf <bpf@vger.kernel.org>,
	Martin Reboredo <yakoyoku@gmail.com>
Subject: Re: pahole v1.24: FAILED: load BTF from vmlinux: Invalid argument
Date: Fri, 26 Aug 2022 05:59:44 +0300	[thread overview]
Message-ID: <20220826025944.hd7htqqwljhse6ht@altlinux.org> (raw)
In-Reply-To: <20220826025220.cxfwwpem2ycpvrmm@altlinux.org>

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@altlinux.org> 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.

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)
>   [    0.788202] 9p: Unknown symbol p9_client_fcreate (err -2)
>   [    0.788651] 9p: Unknown symbol p9_is_proto_dotu (err -2)
>   [    0.789086] 9p: Unknown symbol p9_client_disconnect (err -2)
>   [    0.789558] 9p: Unknown symbol p9_client_attach (err -2)
>   [    0.790001] 9p: Unknown symbol p9stat_free (err -2)
>   [    0.790409] 9p: Unknown symbol p9_client_create (err -2)
>   [    0.790856] 9p: Unknown symbol p9_client_read_once (err -2)
>   [    0.791314] 9p: Unknown symbol p9_client_setattr (err -2)
>   [    0.791762] 9p: Unknown symbol p9_client_xattrwalk (err -2)
>   [    0.792222] 9p: Unknown symbol p9_client_destroy (err -2)
>   [    0.792674] 9p: Unknown symbol p9_client_unlinkat (err -2)
>   [    0.793124] 9p: Unknown symbol p9_client_mkdir_dotl (err -2)
>   [    0.793585] 9p: Unknown symbol p9_client_xattrcreate (err -2)
>   [    0.794055] 9p: Unknown symbol p9_client_create_dotl (err -2)
>   [    0.794527] 9p: Unknown symbol p9_client_lock_dotl (err -2)
>   [    0.794985] 9p: Unknown symbol p9_client_write (err -2)
>   [    0.795415] 9p: Unknown symbol p9_client_walk (err -2)
>   [    0.795837] 9p: Unknown symbol p9_show_client_options (err -2)
>   [    0.796308] 9p: Unknown symbol p9_client_read (err -2)
>   [    0.796731] 9p: Unknown symbol p9_client_fsync (err -2)
>   [    0.797158] 9p: Unknown symbol p9dirent_read (err -2)
>   [    0.797572] 9p: Unknown symbol p9_client_symlink (err -2)
>   [    0.798016] 9p: Unknown symbol p9_client_readlink (err -2)
>   [    0.798470] 9p: Unknown symbol p9_is_proto_dotl (err -2)
>   [    0.798908] 9p: Unknown symbol p9_client_clunk (err -2)
>   [    0.799339] 9p: Unknown symbol p9stat_read (err -2)
>   [    0.799747] 9p: Unknown symbol p9_client_statfs (err -2)
>   [    0.800184] 9p: Unknown symbol p9_client_link (err -2)
>   [    0.800612] 9p: Unknown symbol p9_client_stat (err -2)
>   [    0.801038] 9p: Unknown symbol p9_client_begin_disconnect (err -2)
>   [    0.801544] 9p: Unknown symbol p9_client_getlock_dotl (err -2)
>   [    0.802024] 9p: Unknown symbol p9_client_readdir (err -2)
>   [    0.802469] 9p: Unknown symbol p9_client_mknod_dotl (err -2)
>   init_module '9p.ko' error -1
>   [    0.809193] failed to validate module [virtio] BTF: -22
>   init_module 'virtio.ko' error -1
>   [    0.825316] failed to validate module [virtio_ring] BTF: -22
>   init_module 'virtio_ring.ko' error -1
>   [    0.841110] 9pnet_virtio: Unknown symbol register_virtio_driver (err -2)
>   [    0.841674] 9pnet_virtio: Unknown symbol p9_req_put (err -2)
>   [    0.842143] 9pnet_virtio: Unknown symbol unregister_virtio_driver (err -2)
>   [    0.842708] 9pnet_virtio: Unknown symbol p9_release_pages (err -2)
>   [    0.843209] 9pnet_virtio: Unknown symbol virtqueue_add_sgs (err -2)
>   [    0.843728] 9pnet_virtio: Unknown symbol virtqueue_get_buf (err -2)
>   [    0.844237] 9pnet_virtio: Unknown symbol virtqueue_kick (err -2)
>   [    0.844733] 9pnet_virtio: Unknown symbol v9fs_register_trans (err -2)
>   [    0.845256] 9pnet_virtio: Unknown symbol virtio_check_driver_offered_feature (err -2)
>   [    0.845893] 9pnet_virtio: Unknown symbol v9fs_unregister_trans (err -2)
>   [    0.846434] 9pnet_virtio: Unknown symbol p9_client_cb (err -2)
>   init_module '9pnet_virtio.ko' error -1
>   [    0.853175] failed to validate module [virtio_pci_modern_dev] BTF: -22
>   init_module 'virtio_pci_modern_dev.ko' error -1
>   [    0.869196] virtio_pci: Unknown symbol vring_transport_features (err -2)
>   [    0.869759] virtio_pci: Unknown symbol vp_modern_get_status (err -2)
>   [    0.870276] virtio_pci: Unknown symbol vp_modern_map_vq_notify (err -2)
>   [    0.870817] virtio_pci: Unknown symbol virtqueue_get_avail_addr (err -2)
>   [    0.871363] virtio_pci: Unknown symbol vp_modern_get_queue_size (err -2)
>   [    0.871912] virtio_pci: Unknown symbol vp_modern_remove (err -2)
>   [    0.872405] virtio_pci: Unknown symbol vring_create_virtqueue (err -2)
>   [    0.872938] virtio_pci: Unknown symbol vp_modern_get_features (err -2)
>   [    0.873470] virtio_pci: Unknown symbol vp_modern_set_status (err -2)
>   [    0.873986] virtio_pci: Unknown symbol vp_modern_queue_address (err -2)
>   [    0.874523] virtio_pci: Unknown symbol virtio_device_restore (err -2)
>   [    0.875050] virtio_pci: Unknown symbol vring_interrupt (err -2)
>   [    0.875544] virtio_pci: Unknown symbol virtio_config_changed (err -2)
>   [    0.876073] virtio_pci: Unknown symbol vp_modern_get_queue_enable (err -2)
>   [    0.876639] virtio_pci: Unknown symbol vp_modern_config_vector (err -2)
>   [    0.877172] virtio_pci: Unknown symbol virtqueue_get_vring_size (err -2)
>   [    0.877721] virtio_pci: Unknown symbol vp_modern_probe (err -2)
>   [    0.878205] virtio_pci: Unknown symbol unregister_virtio_device (err -2)
>   [    0.878753] virtio_pci: Unknown symbol virtqueue_get_desc_addr (err -2)
>   [    0.879288] virtio_pci: Unknown symbol vp_modern_set_queue_size (err -2)
>   [    0.879836] virtio_pci: Unknown symbol vp_modern_queue_vector (err -2)
>   [    0.880371] virtio_pci: Unknown symbol virtio_device_freeze (err -2)
>   [    0.880896] virtio_pci: Unknown symbol vp_modern_generation (err -2)
>   [    0.881417] virtio_pci: Unknown symbol virtio_break_device (err -2)
>   [    0.881969] virtio_pci: Unknown symbol vp_modern_set_features (err -2)
>   [    0.882501] virtio_pci: Unknown symbol virtqueue_get_used_addr (err -2)
>   [    0.883014] virtio_pci: Unknown symbol register_virtio_device (err -2)
>   [    0.883547] virtio_pci: Unknown symbol vp_modern_get_num_queues (err -2)
>   [    0.884090] virtio_pci: Unknown symbol vp_modern_set_queue_enable (err -2)
>   [    0.884684] virtio_pci: Unknown symbol vring_del_virtqueue (err -2)
>   init_module 'virtio_pci.ko' error -1
> 
> It seems the same is happened in Arch:
> 
>   https://bbs.archlinux.org/viewtopic.php?id=279132
> 
> And they reverted pahole to 1.23:
> 
>   https://github.com/archlinux/svntogit-packages/commits/packages/pahole/trunk/PKGBUILD
> 
> When I'm revering dwarves to 1.23 it resolves the issue for me too (in
> ALT).
> 
> Thanks,
> 
> 
> > 
> > Thanks!
> > 
> > > 
> > > diff --git a/scripts/pahole-flags.sh b/scripts/pahole-flags.sh
> > > index 0d99ef17e4a528..1f1f1d397c399a 100755
> > > --- a/scripts/pahole-flags.sh
> > > +++ b/scripts/pahole-flags.sh
> > > @@ -19,5 +19,9 @@ fi
> > >  if [ "${pahole_ver}" -ge "122" ]; then
> > >         extra_paholeopt="${extra_paholeopt} -j"
> > >  fi
> > > +if [ "${pahole_ver}" -ge "124" ]; then
> > > +       # see PAHOLE_HAS_LANG_EXCLUDE
> > > +       extra_paholeopt="${extra_paholeopt} --skip_encoding_btf_enum64"
> > > +fi
> > > 
> > >  echo ${extra_paholeopt}
> > > 
> > > >
> > > > Thanks,
> > > >
> > > >

  reply	other threads:[~2022-08-26  2:59 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-25 16:35 pahole v1.24: FAILED: load BTF from vmlinux: Invalid argument Vitaly Chikunov
     [not found] ` <CA+JHD904e2TPpz1ybsaaqD+qMTDcueXu4nVcmotEPhxNfGN+Gw@mail.gmail.com>
2022-08-25 17:16   ` Vitaly Chikunov
2022-08-26  2:52     ` Vitaly Chikunov
2022-08-26  2:59       ` Vitaly Chikunov [this message]
2022-08-26 13:52         ` Jiri Olsa
2022-08-26 16:37           ` Arnaldo Carvalho de Melo
2022-08-27 17:33             ` Vitaly Chikunov
2022-08-27 18:33               ` Arnaldo Carvalho de Melo
2022-08-28  1:41                 ` Vitaly Chikunov
2022-08-26 16:51           ` Yonghong Song
2022-08-26 17:01             ` Jiri Olsa
2022-08-26 18:53               ` Yonghong Song
2022-08-26 20:19                 ` Jiri Olsa
2022-08-27  1:06                   ` Vitaly Chikunov
2022-08-26 16:47         ` Yonghong Song
2022-08-26 16:52           ` Arnaldo Carvalho de Melo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220826025944.hd7htqqwljhse6ht@altlinux.org \
    --to=vt@altlinux.org \
    --cc=acme@kernel.org \
    --cc=arnaldo.melo@gmail.com \
    --cc=bpf@vger.kernel.org \
    --cc=dwarves@vger.kernel.org \
    --cc=yakoyoku@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.