This bug is awaiting verification that the linux-xilinx-
zynqmp/5.15.0-1025.29 kernel in -proposed solves the problem. Please
test the kernel and update this bug with the results. If the problem is
solved, change the tag 'verification-needed-jammy-linux-xilinx-zynqmp'
to 'verification-done-jammy-linux-xilinx-zynqmp'. If the problem still
exists, change the tag 'verification-needed-jammy-linux-xilinx-zynqmp'
to 'verification-failed-jammy-linux-xilinx-zynqmp'.


If verification is not done by 5 working days from today, this fix will
be dropped from the source code, and this bug will be closed.


See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how
to enable and use -proposed. Thank you!


** Tags added: kernel-spammed-jammy-linux-xilinx-zynqmp-v2 
verification-needed-jammy-linux-xilinx-zynqmp

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/2035181

Title:
  Regression for ubuntu_bpf test build caused by upstream bdeeed3498c7

Status in ubuntu-kernel-tests:
  In Progress
Status in linux package in Ubuntu:
  Invalid
Status in linux source package in Jammy:
  Fix Released
Status in linux source package in Lunar:
  Fix Released

Bug description:
  [Impact]
  Commit bdeeed3498c7 ("libbpf: fix offsetof() and container_of() to work
  with CO-RE") from stable update breaks the ubuntu_bpf test build and
  cause net:udpgro_bench.sh, net:udpgro.sh, net:veth.sh in
  ubuntu_kernel_selftests stopped working, as they require bpf selftest
  to be built first.

  The following is extracted from the commit message:
  The problem is the new offsetof() does not play nice with static asserts.
  Given that the context is a static assert (and CO-RE relocation is not
  needed at compile time), offsetof() usage can be replaced by restoring
  the original offsetof() definition as __builtin_offsetof().

  [Test Plan]
  Build bpf selftest in tools/testing/selftests with the following command:
  make headers; make -C tools/testing/selftests TARGETS=bpf SKIP_TARGETS= \
  clean all KDIR=/usr/src/linux-headers-5.15.0-85-generic/

  The build can finish successfully with patched kernel source code.

  [Where problems could occur]
  Fix limited to testing tool, if this fix is incorrect the bpf selftest
  build will remain broken.

  
  == Original bug report ==
  Issue found with Jammy 5.15.0-85.95 in cycle 2023.09.04

  This issue does not exist with 5.15.0-83.92 in cycle 2023.08.07 (-84
  is a security cycle, in which the ubuntu_bpf test was not triggered
  there)

  Test build failed with:
    CLNG-BPF [test_maps] test_btf_map_in_map.o
    CLNG-BPF [test_maps] test_btf_newkv.o
    CLNG-BPF [test_maps] test_btf_nokv.o
    CLNG-BPF [test_maps] test_btf_skc_cls_ingress.o
    CLNG-BPF [test_maps] test_cgroup_link.o
    CLNG-BPF [test_maps] test_check_mtu.o
    CLNG-BPF [test_maps] test_cls_redirect.o
  make[1]: Leaving directory 
'/home/ubuntu/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf'
  make: Leaving directory 
'/home/ubuntu/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests'
  stderr:
  Warning: Kernel ABI header at 'tools/include/uapi/linux/bpf.h' differs from 
latest version at 'include/uapi/linux/bpf.h'
  Warning: Kernel ABI header at 'tools/include/uapi/linux/netlink.h' differs 
from latest version at 'include/uapi/linux/netlink.h'
  Warning: Kernel ABI header at 'tools/include/uapi/linux/if_link.h' differs 
from latest version at 'include/uapi/linux/if_link.h'
  progs/test_cls_redirect.c:90:2: error: static_assert expression is not an 
integral constant expression
          sizeof(flow_ports_t) !=
          ^~~~~~~~~~~~~~~~~~~~~~~
  progs/test_cls_redirect.c:91:3: note: cast that performs the conversions of a 
reinterpret_cast is not allowed in a constant expression
                  offsetofend(struct bpf_sock_tuple, ipv4.dport) -
                  ^
  progs/test_cls_redirect.c:32:3: note: expanded from macro 'offsetofend'
          (offsetof(TYPE, MEMBER) + sizeof((((TYPE *)0)->MEMBER)))
           ^
  
/home/ubuntu/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/tools/include/bpf/bpf_helpers.h:81:33:
 note: expanded from macro 'offsetof'
  #define offsetof(type, member)  ((unsigned long)&((type *)0)->member)
                                   ^
  progs/test_cls_redirect.c:95:2: error: static_assert expression is not an 
integral constant expression
          sizeof(flow_ports_t) !=
          ^~~~~~~~~~~~~~~~~~~~~~~
  progs/test_cls_redirect.c:96:3: note: cast that performs the conversions of a 
reinterpret_cast is not allowed in a constant expression
                  offsetofend(struct bpf_sock_tuple, ipv6.dport) -
                  ^
  progs/test_cls_redirect.c:32:3: note: expanded from macro 'offsetofend'
          (offsetof(TYPE, MEMBER) + sizeof((((TYPE *)0)->MEMBER)))
           ^
  
/home/ubuntu/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/tools/include/bpf/bpf_helpers.h:81:33:
 note: expanded from macro 'offsetof'
  #define offsetof(type, member)  ((unsigned long)&((type *)0)->member)
                                   ^
  2 errors generated.
  make[1]: *** [Makefile:470: 
/home/ubuntu/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/test_cls_redirect.o]
 Error 1
  make: *** [Makefile:171: all] Error 2

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/2035181/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to