On Fri, Aug 23, 2024 at 10:50:29AM +0800, Shung-Hsi Yu wrote: > On Thu, Aug 22, 2024 at 06:45:14PM GMT, Sherry Yang wrote: > > Hi All, > > > > We found BPF sefltest fail to build with following error: > > > > 08-09 20:39:59 DBG: |output|: progs/test_global_func10.c:24:1: error: unknown type name '__failure' > > 08-09 20:39:59 DBG: |output|: __failure __msg("invalid indirect access to stack") > > 08-09 20:39:59 DBG: |output|: ^ > > 08-09 20:39:59 DBG: |output|: progs/test_global_func10.c:24:17: error: expected parameter declarator > > 08-09 20:39:59 DBG: |output|: __failure __msg("invalid indirect access to stack") > > 08-09 20:39:59 DBG: |output|: ^ > > 08-09 20:39:59 DBG: |output|: progs/test_global_func10.c:24:17: error: expected ')' > > 08-09 20:39:59 DBG: |output|: progs/test_global_func10.c:24:16: note: to match this '(' > > 08-09 20:39:59 DBG: |output|: __failure __msg("invalid indirect access to stack") > > 08-09 20:39:59 DBG: |output|: ^ > > 08-09 20:39:59 DBG: |output|: progs/test_global_func10.c:24:52: error: expected ';' after top level declarator > > 08-09 20:39:59 DBG: |output|: __failure __msg("invalid indirect access to stack") > > 08-09 20:39:59 DBG: |output|: ^ > > 08-09 20:39:59 DBG: |output|: ; > > 08-09 20:39:59 DBG: |output|: 4 errors generated. > > 08-09 20:39:59 DBG: |output|: make: *** [Makefile:470: /root/oltf/work/linux-bpf-qa/tools/testing/selftests/bpf/test_global_func10.o] Error 1 > > 08-09 20:39:59 DBG: |output|: make: *** Waiting for unfinished jobs.... > > > > It happens from the commit e30bc19a9ee8("bpf: Allow reads from uninit > > stack"). We did a further look, '__failure' is defined in > > tools/testing/selftests/bpf/progs/bpf_misc.h, and was 1st introduced > > in commit 537c3f66eac1("selftests/bpf: add generic BPF program > > tester-loader") which is not backported to linux-5.15.y. > > > > So we may need to revert the patch, or fix it. > > To fix it I think we just need to drop the use of __failure and __msg in > progs/test_global_func10.c, and update the "struct test_def tests[]" > table in prog_tests/test_global_funcs.c with the new verifier rejection > message. > > On the other hand I believe commit 537c3f66eac1("selftests/bpf: add > generic BPF program tester-loader") should be relatively easy to > backport, just picking that commit up and resolving simple conflict in > Makefile should be enough. It will also save a lot of future headaches > like this one. Please submit a patch like this and we will be glad to pick it up. thanks, greg k-h