** Description changed:

  Issue found with Jammy 5.15.0-162.172 in sru-20251013
  
   START ubuntu_kselftests_net.net:udpgro.sh 
ubuntu_kselftests_net.net:udpgro.sh timestamp=1761032521 timeout=2700 
localtime=Oct 21 07:42:01
   Persistent state client._record_indent now set to 2
   Persistent state client.unexpected_reboot now set to 
('ubuntu_kselftests_net.net:udpgro.sh', 'ubuntu_kselftests_net.net:udpgro.sh')
   Waiting for pid 55215 for 2700 seconds
   System python is too old, crash handling disabled
   Running 'make run_tests -C net TEST_PROGS=udpgro.sh TEST_GEN_PROGS='' 
TEST_CUSTOM_PROGS='''
   make: Entering directory 
'/home/ubuntu/autotest/client/tmp/ubuntu_kselftests_net/src/linux/tools/testing/selftests/net'
   make --no-builtin-rules ARCH=x86 -C ../../../.. headers_install
   make[1]: Entering directory 
'/home/ubuntu/autotest/client/tmp/ubuntu_kselftests_net/src/linux'
   INSTALL ./usr/include
   make[1]: Leaving directory 
'/home/ubuntu/autotest/client/tmp/ubuntu_kselftests_net/src/linux'
   TAP version 13
   1..1
   # selftests: net: udpgro.sh
   # ipv4
   # no GRO ok
   # no GRO chk cmsg ok
   # GRO ./udpgso_bench_rx: recv: bad packet len, got 1472, expected 14720
   #
   # failed
   # GRO chk cmsg ./udpgso_bench_rx: recv: bad packet len, got 1472, expected 
14720
   #
   # failed
   # GRO with custom segment size ./udpgso_bench_rx: recv: bad packet len, got 
500, expected 14720
   #
   # failed
   # GRO with custom segment size cmsg ./udpgso_bench_rx: recv: bad packet len, 
got 500, expected 14720
   #
   # failed
   # bad GRO lookup ok
   # multiple GRO socks ./udpgso_bench_rx: recv: bad packet len, got 1472, 
expected 14720
   #
   # ./udpgso_bench_rx: recv: bad packet len, got 1472, expected 14720
   #
   # failed
   # ipv6
   # no GRO ok
   # no GRO chk cmsg ok
   # GRO ./udpgso_bench_rx: recv: bad packet len, got 1452, expected 14520
   #
   # failed
   # GRO chk cmsg ./udpgso_bench_rx: recv: bad packet len, got 1452, expected 
14520
   #
   # failed
   # GRO with custom segment size ./udpgso_bench_rx: recv: bad packet len, got 
500, expected 14520
   #
   # failed
   # GRO with custom segment size cmsg ./udpgso_bench_rx: recv: bad packet len, 
got 500, expected 14520
   #
   # failed
   # bad GRO lookup ok
   # multiple GRO socks ./udpgso_bench_rx: recv: bad packet len, got 1452, 
expected 14520
   #
   # ./udpgso_bench_rx: recv: bad packet len, got 1452, expected 14520
   #
   # failed
   not ok 1 selftests: net: udpgro.sh # exit=1 
  
  This is not a regression, it's actually failing with the same output with 
older kernels.
  We didn't see this failure in previous cycles because the test is giving a 
false-negative result.
  
  With commit "selftests: udpgro: report error when receive failed"[1]
  from upstream this is now reporting the correct status of the test.
  
  [1] https://git.launchpad.net/~ubuntu-
  
kernel/ubuntu/+source/linux/+git/jammy/commit/tools/testing/selftests/net?h=master-
  next&id=f83d21a592cad5a1171bc8e9e2ed295dc4845d9d
+ 
+ SRU Justification:
+ 
+ [ Impact ]
+ Running `tools/testing/selftests/net/udpgro.sh` fails on Jammy 5.15 kernels 
with:
+   GRO ./udpgso_bench_rx: recv: bad packet len, got 1472, expected 14720
+ 
+ In commit 886a0a957ce0 ("net: veth: do not manipulate GRO when using XDP")
+ (upstream commit d7db7775ea2e), veth was changed so that attaching an XDP
+ program no longer automatically enables the GRO feature bit. However, 
udpgro.sh
+ previously relied on attaching xdp_dummy.o to trigger GRO.
+ 
+ Furthermore, upstream commit 7167395a4be7 ("selftests: udpgro: report error
+ when receive failed") landed in Jammy 5.15 in commit f83d21a592ca (via 
v5.15.190, LP: #2122364),
+ causing udpgro.sh to check the receiver process exit code and actively report 
the
+ failure that had previously been silently ignored.
+ 
+ [ Fix ]
+ Backport upstream commit d7818402b1d8 ("selftests: udpgro: no need to load
+ xdp for gro"). This replaces the XDP dummy program attachment with explicit
+ `ethtool -K veth1 gro on` and removes the dependency on xdp_dummy.o.
+ 
+ Context was adjusted due to the absence of commit 6b88ce902f0b ("selftests:
+ net: name bpf objects consistently and simplify Makefile") in 5.15.
+ 
+ [ Test Plan ]
+ Build and execute the udpgro test:
+   cd tools/testing/selftests/net
+   make udpgso_bench_tx udpgso_bench_rx
+   sudo ./udpgro.sh
+ 
+ All test cases must report "ok" with exit code 0.
+ Verified on a target machine running Jammy 5.15 kernel (5.15.0-191-generic):
+   ipv4
+    no GRO                                  ok
+    no GRO chk cmsg                         ok
+    GRO                                     ok
+    GRO chk cmsg                            ok
+    GRO with custom segment size            ok
+    GRO with custom segment size cmsg       ok
+    bad GRO lookup                          ok
+    multiple GRO socks                      ok
+   ipv6
+    no GRO                                  ok
+    no GRO chk cmsg                         ok
+    GRO                                     ok
+    GRO chk cmsg                            ok
+    GRO with custom segment size            ok
+    GRO with custom segment size cmsg       ok
+    bad GRO lookup                          ok
+    multiple GRO socks                      ok
+   Exit code: 0
+ 
+ [ Where problems could occur ]
+ Changes are strictly isolated to tools/testing/selftests/net/udpgro.sh and
+ do not touch any kernel code or runtime drivers. Risk of regression in
+ production environments is none.

** Also affects: linux (Ubuntu Jammy)
   Importance: Undecided
       Status: New

** Changed in: linux (Ubuntu Jammy)
   Importance: Undecided => Medium

** Changed in: linux (Ubuntu Jammy)
       Status: New => In Progress

** Changed in: linux (Ubuntu Jammy)
     Assignee: (unassigned) => AaronMa (mapengyu)

** Changed in: ubuntu-kernel-tests
       Status: New => Invalid

** Changed in: linux (Ubuntu)
       Status: New => Invalid

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2129861

Title:
  udpgro.sh from ubuntu_kselftests_net failed with J-5.15
  (udpgso_bench_rx: recv: bad packet len)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/2129861/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to