I just finished bisect between -1007 and -1008

ca6f352ba5c8ccde01289d433401f28e6c260e07 is the first bad commit
commit ca6f352ba5c8ccde01289d433401f28e6c260e07
Author: Andrii Nakryiko <and...@kernel.org>
Date:   Mon May 8 23:55:02 2023 -0700

    libbpf: fix offsetof() and container_of() to work with CO-RE
    
    BugLink: https://bugs.launchpad.net/bugs/2028528
    
    [ Upstream commit bdeeed3498c7871c17465bb4f11d1bc67f9098af ]
    
    It seems like __builtin_offset() doesn't preserve CO-RE field
    relocations properly. So if offsetof() macro is defined through
    __builtin_offset(), CO-RE-enabled BPF code using container_of() will be
    subtly and silently broken.
    
    To avoid this problem, redefine offsetof() and container_of() in the
    form that works with CO-RE relocations more reliably.
    
    Fixes: 5fbc220862fc ("tools/libpf: Add offsetof/container_of macro in 
bpf_helpers.h")
    Reported-by: Lennart Poettering <lenn...@poettering.net>
    Signed-off-by: Andrii Nakryiko <and...@kernel.org>
    Acked-by: Yonghong Song <y...@fb.com>
    Link: https://lore.kernel.org/r/20230509065502.2306180-1-and...@kernel.org
    Signed-off-by: Alexei Starovoitov <a...@kernel.org>
    Signed-off-by: Sasha Levin <sas...@kernel.org>
    Signed-off-by: Timo Aaltonen <timo.aalto...@canonical.com>

 tools/lib/bpf/bpf_helpers.h | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

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

Title:
  ubuntu_bpf failed to build with j-oem-6.1.0-1018.18

Status in ubuntu-kernel-tests:
  New
Status in linux-oem-6.1 package in Ubuntu:
  Invalid
Status in linux-oem-6.1 source package in Jammy:
  New

Bug description:
  Issue found with J-oem-6.1.0-1018.18

  Test build failed with:
      CLNG-BPF [test_maps] test_check_mtu.bpf.o
      CLNG-BPF [test_maps] test_cls_redirect.bpf.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:
    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:86: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:86:33:
 note: expanded from macro 'offsetof'
    #define offsetof(type, member)  ((unsigned long)&((type *)0)->member)
                                     ^
    2 errors generated.
    make[1]: *** [Makefile:531: 
/home/ubuntu/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/test_cls_redirect.bpf.o]
 Error 1
    make: *** [Makefile:160: all] Error 2

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/2028932/+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