https://lists.ubuntu.com/archives/kernel-team/2023-January/136302.html
** Description changed: + [Impact] + cmsg_* tests in net tests from ubuntu_kernel_selftests will hang on + non-amd64 systems and eventually causing "Incomplete" test results on + RISCV kernels due to the timeout setting. + + This is because of an infinity while loop caused by a char variable + used here to take the getopt() return value in cmsg_sender.c, it should + be an int instead. + + [Fix] + * 1573c68820 ("selftests: net: fix cmsg_so_mark.sh test hang") + This patch can be cherry-picked into both Kinetic and Lunar, these test + cases are only available in these newer kernels. + + [Test] + Compile the patched cmsg_sender.c on a non-amd64 system, and the cmsg_* + tests will no longer hanging. + + [Where problems could occur ] + Change limited to testing tools, no actual impact to real functions. + + + [Original Bug Report] Issue found with 5.19.0-1010.11, 5.19.0-1011.12 This issue does not exist in 5.19.0-1009.10 because the net test can't be built by that time. Test output: - Running 'make run_tests -C net TEST_PROGS=cmsg_so_mark.sh TEST_GEN_PROGS='' TEST_CUSTOM_PROGS=''' - make: Entering directory '/home/ubuntu/autotest/client/tmp/ubuntu_kernel_selftests/src/linux/tools/testing/selftests/net' - make --no-builtin-rules ARCH=riscv -C ../../../.. headers_install - make[1]: Entering directory '/home/ubuntu/autotest/client/tmp/ubuntu_kernel_selftests/src/linux' - INSTALL ./usr/include - make[1]: Leaving directory '/home/ubuntu/autotest/client/tmp/ubuntu_kernel_selftests/src/linux' - TAP version 13 - 1..1 - # selftests: net: cmsg_so_mark.sh - Timer expired (5400 sec.), nuking pid 82951 + Running 'make run_tests -C net TEST_PROGS=cmsg_so_mark.sh TEST_GEN_PROGS='' TEST_CUSTOM_PROGS=''' + make: Entering directory '/home/ubuntu/autotest/client/tmp/ubuntu_kernel_selftests/src/linux/tools/testing/selftests/net' + make --no-builtin-rules ARCH=riscv -C ../../../.. headers_install + make[1]: Entering directory '/home/ubuntu/autotest/client/tmp/ubuntu_kernel_selftests/src/linux' + INSTALL ./usr/include + make[1]: Leaving directory '/home/ubuntu/autotest/client/tmp/ubuntu_kernel_selftests/src/linux' + TAP version 13 + 1..1 + # selftests: net: cmsg_so_mark.sh + Timer expired (5400 sec.), nuking pid 82951 A manual test shows it will stuck with: - $ sudo ./cmsg_so_mark.sh + $ sudo ./cmsg_so_mark.sh + NS=ns + IP4=172.16.0.1/24 + TGT4=172.16.0.2 + IP6=2001:db8:1::1/64 + TGT6=2001:db8:1::2 + MARK=1000 + trap cleanup EXIT + ip netns add ns + ip netns exec ns sysctl -w 'net.ipv4.ping_group_range=0 2147483647' + ip -netns ns link add type dummy + ip -netns ns link set dev dummy0 up + ip -netns ns addr add 172.16.0.1/24 dev dummy0 + ip -netns ns addr add 2001:db8:1::1/64 dev dummy0 + ip -netns ns rule add fwmark 1000 lookup 300 + ip -6 -netns ns rule add fwmark 1000 lookup 300 + ip -netns ns route add prohibit any table 300 + ip -6 -netns ns route add prohibit any table 300 + BAD=0 + TOTAL=0 + for ovr in setsock cmsg both + for i in 4 6 + '[' 4 == 4 ']' + TGT=172.16.0.2 + for p in u i r + '[' u == u ']' + prot=UDP + '[' u == i ']' + '[' u == r ']' + '[' setsock == setsock ']' + m=-M + '[' setsock == cmsg ']' + '[' setsock == both ']' + ip netns exec ns ./cmsg_sender -4 -p u -M 1001 172.16.0.2 1234 (test stuck here) -- 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/2000667 Title: cmsg_so_mark.sh / cmsg_time.sh / cmsg_ipv6.sh in net from ubuntu_kernel_selftests hang with non-amd64 Status in ubuntu-kernel-tests: In Progress Status in linux package in Ubuntu: In Progress Status in linux source package in Kinetic: In Progress Status in linux source package in Lunar: In Progress Bug description: [Impact] cmsg_* tests in net tests from ubuntu_kernel_selftests will hang on non-amd64 systems and eventually causing "Incomplete" test results on RISCV kernels due to the timeout setting. This is because of an infinity while loop caused by a char variable used here to take the getopt() return value in cmsg_sender.c, it should be an int instead. [Fix] * 1573c68820 ("selftests: net: fix cmsg_so_mark.sh test hang") This patch can be cherry-picked into both Kinetic and Lunar, these test cases are only available in these newer kernels. [Test] Compile the patched cmsg_sender.c on a non-amd64 system, and the cmsg_* tests will no longer hanging. [Where problems could occur ] Change limited to testing tools, no actual impact to real functions. [Original Bug Report] Issue found with 5.19.0-1010.11, 5.19.0-1011.12 This issue does not exist in 5.19.0-1009.10 because the net test can't be built by that time. Test output: Running 'make run_tests -C net TEST_PROGS=cmsg_so_mark.sh TEST_GEN_PROGS='' TEST_CUSTOM_PROGS=''' make: Entering directory '/home/ubuntu/autotest/client/tmp/ubuntu_kernel_selftests/src/linux/tools/testing/selftests/net' make --no-builtin-rules ARCH=riscv -C ../../../.. headers_install make[1]: Entering directory '/home/ubuntu/autotest/client/tmp/ubuntu_kernel_selftests/src/linux' INSTALL ./usr/include make[1]: Leaving directory '/home/ubuntu/autotest/client/tmp/ubuntu_kernel_selftests/src/linux' TAP version 13 1..1 # selftests: net: cmsg_so_mark.sh Timer expired (5400 sec.), nuking pid 82951 A manual test shows it will stuck with: $ sudo ./cmsg_so_mark.sh + NS=ns + IP4=172.16.0.1/24 + TGT4=172.16.0.2 + IP6=2001:db8:1::1/64 + TGT6=2001:db8:1::2 + MARK=1000 + trap cleanup EXIT + ip netns add ns + ip netns exec ns sysctl -w 'net.ipv4.ping_group_range=0 2147483647' + ip -netns ns link add type dummy + ip -netns ns link set dev dummy0 up + ip -netns ns addr add 172.16.0.1/24 dev dummy0 + ip -netns ns addr add 2001:db8:1::1/64 dev dummy0 + ip -netns ns rule add fwmark 1000 lookup 300 + ip -6 -netns ns rule add fwmark 1000 lookup 300 + ip -netns ns route add prohibit any table 300 + ip -6 -netns ns route add prohibit any table 300 + BAD=0 + TOTAL=0 + for ovr in setsock cmsg both + for i in 4 6 + '[' 4 == 4 ']' + TGT=172.16.0.2 + for p in u i r + '[' u == u ']' + prot=UDP + '[' u == i ']' + '[' u == r ']' + '[' setsock == setsock ']' + m=-M + '[' setsock == cmsg ']' + '[' setsock == both ']' + ip netns exec ns ./cmsg_sender -4 -p u -M 1001 172.16.0.2 1234 (test stuck here) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/2000667/+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