On Tue, Sep 9, 2025 at 11:53 AM Amery Hung <ameryhung@xxxxxxxxx> wrote: > > On Tue, Sep 9, 2025 at 9:21 AM Nimrod Oren <noren@xxxxxxxxxx> wrote: > > > > On 05/09/2025 1:16, Amery Hung wrote: > > > On Thu, Aug 28, 2025 at 6:39 AM Nimrod Oren <noren@xxxxxxxxxx> wrote: > > >> I got a crash when testing this series with the xdp_dummy program from > > >> tools/testing/selftests/net/lib/. Need to make sure we're not breaking > > >> compatibility for programs that keep the linear part empty. > > > > > > ping.py test ran successfully for me. Is this what you tried but > > > crashed the kernel? > > > > Yes, that's odd. Is it possible that the native multibuf case was > > skipped over because of an older iproute2/libbpf version? > > > > If it's helpful, I used iproute2-6.16.0 built with libbpf 1.7.0 support. > > I am able to reproduce the crash by loading multibuf prog directly with: > > `ip link set dev eth0 mtu 9000 xdp obj > > tools/testing/selftests/net/lib/xdp_dummy.bpf.o sec xdp.frags` > > I can reproduce it with v2. Will fix it in v3. > > The bug is that sinfo->flags is also cleared in build_skb(), so later > xdp_buff_has_frags() will always return false and no data was ever > pulled into the linear part. Correcting myself. It is sinfo->xdp_frags_size being cleared in xdp_update_skb_shared_info().