** 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