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
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: map_in_ map.o skc_cls_ ingress. o ubuntu/ autotest/ client/ tmp/ubuntu_ bpf/src/ linux/tools/ testing/ selftests/ bpf' ubuntu/ autotest/ client/ tmp/ubuntu_ bpf/src/ linux/tools/ testing/ selftests' include/ uapi/linux/ bpf.h' differs from latest version at 'include/ uapi/linux/ bpf.h' include/ uapi/linux/ netlink. h' differs from latest version at 'include/ uapi/linux/ netlink. h' include/ uapi/linux/ if_link. h' differs from latest version at 'include/ uapi/linux/ if_link. h' cls_redirect. c:90:2: error: static_assert expression is not an integral constant expression
sizeof( flow_ports_ t) !=
^~~~~~ ~~~~~~~ ~~~~~~~ ~~~ 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) - cls_redirect. c:32:3: note: expanded from macro 'offsetofend'
(offsetof( TYPE, MEMBER) + sizeof((((TYPE *)0)->MEMBER))) autotest/ client/ tmp/ubuntu_ bpf/src/ linux/tools/ testing/ selftests/ bpf/tools/ include/ bpf/bpf_ helpers. h:81:33: note: expanded from macro 'offsetof'
^ cls_redirect. c:95:2: error: static_assert expression is not an integral constant expression
sizeof( flow_ports_ t) !=
^~~~~~ ~~~~~~~ ~~~~~~~ ~~~ 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) - cls_redirect. c:32:3: note: expanded from macro 'offsetofend'
(offsetof( TYPE, MEMBER) + sizeof((((TYPE *)0)->MEMBER))) autotest/ client/ tmp/ubuntu_ bpf/src/ linux/tools/ testing/ selftests/ bpf/tools/ include/ bpf/bpf_ helpers. h:81:33: note: expanded from macro 'offsetof'
^ autotest/ client/ tmp/ubuntu_ bpf/src/ linux/tools/ testing/ selftests/ bpf/test_ cls_redirect. o] Error 1
CLNG-BPF [test_maps] test_btf_
CLNG-BPF [test_maps] test_btf_newkv.o
CLNG-BPF [test_maps] test_btf_nokv.o
CLNG-BPF [test_maps] test_btf_
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/
make: Leaving directory '/home/
stderr:
Warning: Kernel ABI header at 'tools/
Warning: Kernel ABI header at 'tools/
Warning: Kernel ABI header at 'tools/
progs/test_
progs/test_
^
progs/test_
^
/home/ubuntu/
#define offsetof(type, member) ((unsigned long)&((type *)0)->member)
progs/test_
progs/test_
^
progs/test_
^
/home/ubuntu/
#define offsetof(type, member) ((unsigned long)&((type *)0)->member)
2 errors generated.
make[1]: *** [Makefile:470: /home/ubuntu/
make: *** [Makefile:171: all] Error 2