I missed that the test itself was removed in v5.15.149. We should do the same.
Considering the last one applied to our tree is 140 (I think), I'll push this 
sooner.

** 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.
  because LIBBPF_OPTS macro does not exists, it does not compile. Error below.
  
  [Fix]
- Cherry-pick commit "libbpf: Rename DECLARE_LIBBPF_OPTS into LIBBPF_OPTS"
+ 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.

-- 
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/2054567

Title:
  Fix bpf selftests build failure after v5.15.139 update

Status in linux package in Ubuntu:
  Invalid
Status in linux source package in Jammy:
  In Progress

Bug description:
  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.
  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.

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