** Description changed: Sru justification [Impact] - Upstream v5.15.139 (#lp2049432) brought commit "selftests/bpf: Test tail call counting with bpf2bpf and data on stack" that affects one of the bpf kselftests. + Upstream v5.15.139 (#lp2049432) brought commit "selftests/bpf: Test tail call counting with bpf2bpf and data on stack" that affects one of the bpf kselftests + (tailcall_bpf2bpf6). because LIBBPF_OPTS macro does not exists, it does not compile. Error below. [Fix] Initially, I thought cherry-pick commit "libbpf: Rename DECLARE_LIBBPF_OPTS into LIBBPF_OPTS" would be the best, but upstream stable just reverted the commit that broke it. Commit 62900d358c48 "Revert "selftests/bpf: Test tail call counting with bpf2bpf and data on stack"" will be cherry picked. [Test] This should be solved soon, but compileselftests debian rule does not compile bpf selftests. I tested it by using our regression testing tooling, but same results can be achieved by running: $ make -C linux/tools/testing/selftests TARGETS=bpf SKIP_TARGETS= clean all KDIR=/usr/src/linux-headers-5.15.0-<verson>-generic from the linux tree directory Without the fix, it fails to compile: /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/prog_tests/tailcalls.c: In function ‘test_tailcall_bpf2bpf_6’: /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/prog_tests/tailcalls.c:822:9: warning: implicit declaration of function ‘LIBBPF_OPTS’; did you mean ‘LIBBPF_API’? [-Wimplicit-function-declaration] 822 | LIBBPF_OPTS(bpf_test_run_opts, topts, | ^~~~~~~~~~~ | LIBBPF_API /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/prog_tests/tailcalls.c:822:21: error: ‘bpf_test_run_opts’ undeclared (first use in this function) 822 | LIBBPF_OPTS(bpf_test_run_opts, topts, | ^~~~~~~~~~~~~~~~~ /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/prog_tests/tailcalls.c:822:21: note: each undeclared identifier is reported only once for each function it appears in /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/prog_tests/tailcalls.c:822:40: error: ‘topts’ undeclared (first use in this function) 822 | LIBBPF_OPTS(bpf_test_run_opts, topts, | ^~~~~ /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/prog_tests/tailcalls.c:823:17: error: expected expression before ‘.’ token 823 | .data_in = &pkt_v4, | ^ make[1]: *** [Makefile:471: /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/tailcalls.test.o] Error 1 make: *** [Makefile:172: all] Error 2 With the fix, it compiles. [Regression potential] The only place this is being used is selftests, so the risk is very low.
** Description changed: - Sru justification + SRU justification [Impact] - Upstream v5.15.139 (#lp2049432) brought commit "selftests/bpf: Test tail call counting with bpf2bpf and data on stack" that affects one of the bpf kselftests - (tailcall_bpf2bpf6). + Upstream v5.15.139 (#lp2049432) brought commit + "selftests/bpf: Test tail call counting with bpf2bpf and data on stack" + that affects one of the bpf kselftests (tailcall_bpf2bpf6). because LIBBPF_OPTS macro does not exists, it does not compile. Error below. [Fix] - Initially, I thought cherry-pick commit "libbpf: Rename DECLARE_LIBBPF_OPTS into LIBBPF_OPTS" would be the best, but upstream stable just reverted the commit - that broke it. - Commit 62900d358c48 "Revert "selftests/bpf: Test tail call counting with bpf2bpf and data on stack"" will be cherry picked. + Initially, I thought cherry-picking commit + "libbpf: Rename DECLARE_LIBBPF_OPTS into LIBBPF_OPTS" would be the best, + but upstream stable just reverted the commit that broke it. Hence the fix + consists of cherry-picking this commit from stable upstream 5.15.49: + Commit 62900d358c48 (Revert "selftests/bpf: Test tail call counting with bpf2bpf and data on stack") [Test] - This should be solved soon, but compileselftests debian rule does not compile bpf selftests. - I tested it by using our regression testing tooling, but same results can be achieved by running: - $ make -C linux/tools/testing/selftests TARGETS=bpf SKIP_TARGETS= clean all KDIR=/usr/src/linux-headers-5.15.0-<verson>-generic + This should be solved soon, but compileselftests debian rule does not + compile bpf selftests. + I tested it by using our regression testing tooling, but same results can + be achieved by running: + $ make -C linux/tools/testing/selftests TARGETS=bpf SKIP_TARGETS= clean all KDIR=/usr/src/linux-headers-5.15.0-<verson>-generic from the linux tree directory Without the fix, it fails to compile: - /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/prog_tests/tailcalls.c: In function ‘test_tailcall_bpf2bpf_6’: - /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/prog_tests/tailcalls.c:822:9: warning: implicit declaration of function ‘LIBBPF_OPTS’; did you mean ‘LIBBPF_API’? [-Wimplicit-function-declaration] - 822 | LIBBPF_OPTS(bpf_test_run_opts, topts, - | ^~~~~~~~~~~ - | LIBBPF_API - /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/prog_tests/tailcalls.c:822:21: error: ‘bpf_test_run_opts’ undeclared (first use in this function) - 822 | LIBBPF_OPTS(bpf_test_run_opts, topts, - | ^~~~~~~~~~~~~~~~~ - /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/prog_tests/tailcalls.c:822:21: note: each undeclared identifier is reported only once for each function it appears in - /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/prog_tests/tailcalls.c:822:40: error: ‘topts’ undeclared (first use in this function) - 822 | LIBBPF_OPTS(bpf_test_run_opts, topts, - | ^~~~~ - /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/prog_tests/tailcalls.c:823:17: error: expected expression before ‘.’ token - 823 | .data_in = &pkt_v4, - | ^ - make[1]: *** [Makefile:471: /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/tailcalls.test.o] Error 1 - make: *** [Makefile:172: all] Error 2 + /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/prog_tests/tailcalls.c: In function ‘test_tailcall_bpf2bpf_6’: + /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/prog_tests/tailcalls.c:822:9: warning: implicit declaration of function ‘LIBBPF_OPTS’; did you mean ‘LIBBPF_API’? [-Wimplicit-function-declaration] + 822 | LIBBPF_OPTS(bpf_test_run_opts, topts, + | ^~~~~~~~~~~ + | LIBBPF_API + /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/prog_tests/tailcalls.c:822:21: error: ‘bpf_test_run_opts’ undeclared (first use in this function) + 822 | LIBBPF_OPTS(bpf_test_run_opts, topts, + | ^~~~~~~~~~~~~~~~~ + /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/prog_tests/tailcalls.c:822:21: note: each undeclared identifier is reported only once for each function it appears in + /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/prog_tests/tailcalls.c:822:40: error: ‘topts’ undeclared (first use in this function) + 822 | LIBBPF_OPTS(bpf_test_run_opts, topts, + | ^~~~~ + /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/prog_tests/tailcalls.c:823:17: error: expected expression before ‘.’ token + 823 | .data_in = &pkt_v4, + | ^ + make[1]: *** [Makefile:471: /root/autotest/client/tmp/ubuntu_bpf/src/linux/tools/testing/selftests/bpf/tailcalls.test.o] Error 1 + make: *** [Makefile:172: all] Error 2 With the fix, it compiles. [Regression potential] The only place this is being used is selftests, so the risk is very low. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2054567 Title: Fix bpf selftests build failure after v5.15.139 update To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2054567/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs