pmtu.sh from net in ubuntu_kernel_selftests failed with no error message
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubuntu-kernel-tests |
Fix Released
|
Undecided
|
Po-Hsu Lin | ||
linux (Ubuntu) |
Fix Released
|
Undecided
|
Po-Hsu Lin | ||
Focal |
Fix Released
|
Undecided
|
Po-Hsu Lin | ||
Groovy |
Won't Fix
|
Undecided
|
Po-Hsu Lin | ||
Hirsute |
Fix Released
|
Undecided
|
Po-Hsu Lin | ||
Impish |
Fix Released
|
Undecided
|
Po-Hsu Lin | ||
linux-oem-5.10 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Po-Hsu Lin | ||
Groovy |
Invalid
|
Undecided
|
Unassigned | ||
Hirsute |
Invalid
|
Undecided
|
Unassigned | ||
Impish |
Invalid
|
Undecided
|
Unassigned | ||
linux-oem-5.6 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Won't Fix
|
Undecided
|
Unassigned | ||
Groovy |
Invalid
|
Undecided
|
Unassigned | ||
Hirsute |
Invalid
|
Undecided
|
Unassigned | ||
Impish |
Invalid
|
Undecided
|
Unassigned |
Bug Description
[Impact]
The pmtu.sh test in net from ubuntu_
as failed even there is no obvious failure message from the test:
$ sudo ./pmtu.sh
TEST: ipv4: PMTU exceptions [ OK ]
TEST: ipv6: PMTU exceptions [ OK ]
vxlan4 not supported
TEST: IPv4 over vxlan4: PMTU exceptions [SKIP]
vxlan4 not supported
TEST: IPv6 over vxlan4: PMTU exceptions [SKIP]
TEST: IPv4 over vxlan6: PMTU exceptions [ OK ]
TEST: IPv6 over vxlan6: PMTU exceptions [ OK ]
geneve4 not supported
TEST: IPv4 over geneve4: PMTU exceptions [SKIP]
geneve4 not supported
TEST: IPv6 over geneve4: PMTU exceptions [SKIP]
TEST: IPv4 over geneve6: PMTU exceptions [ OK ]
TEST: IPv6 over geneve6: PMTU exceptions [ OK ]
TEST: IPv4 over fou4: PMTU exceptions [ OK ]
TEST: IPv6 over fou4: PMTU exceptions [ OK ]
TEST: IPv4 over fou6: PMTU exceptions [ OK ]
TEST: IPv6 over fou6: PMTU exceptions [ OK ]
TEST: IPv4 over gue4: PMTU exceptions [ OK ]
TEST: IPv6 over gue4: PMTU exceptions [ OK ]
TEST: IPv4 over gue6: PMTU exceptions [ OK ]
TEST: IPv6 over gue6: PMTU exceptions [ OK ]
TEST: vti6: PMTU exceptions [ OK ]
TEST: vti4: PMTU exceptions [ OK ]
TEST: vti4: default MTU assignment [ OK ]
TEST: vti6: default MTU assignment [ OK ]
TEST: vti4: MTU setting on link creation [ OK ]
TEST: vti6: MTU setting on link creation [ OK ]
TEST: vti6: MTU changes on link changes [ OK ]
vxlan4 not supported
TEST: ipv4: cleanup of cached exceptions [SKIP]
TEST: ipv6: cleanup of cached exceptions [ OK ]
TEST: ipv4: list and flush cached exceptions [ OK ]
TEST: ipv6: list and flush cached exceptions [ OK ]
$ echo $?
1
This is because the test script treats all non-zero return code as a
failure, thus it will be marked as FAILED when some sub-test got
skipped.
[Fix]
* ef1220a7d4bbdb selftests: pmtu.sh: use $ksft_skip for skipped return
code
* 2a9d3716b810a4 selftests: pmtu.sh: improve the test result processing
This patchset will:
1. Use the kselftest framework skip code $ksft_skip to replace the
hardcoded SKIP return code.
2. Improve the result processing, the test will be marked as PASSED
if nothing goes wrong and not all the tests were skipped.
These have already landed in newer releases and this test does not
exist in B, thus we just need this for F/F-OEM-
The first patch needs to be backported (except on F-OEM-5.10) as some
test cases were not added yet.
The second one can be cherry-picked.
[Test]
Run this test directly on a patched kernel. The skipped test will cause
failure to this test.
[Where problems could occur]
Changes limited to testing tools, it's unlikely to cause any problem
to kernel functions.
[Original Bug Report]
Issue found on B-5.4 oracle 5.4.0-1021.
The pmtu.sh test in net from ubuntu_
$ sudo ./pmtu.sh
TEST: ipv4: PMTU exceptions [ OK ]
TEST: ipv6: PMTU exceptions [ OK ]
vxlan4 not supported
TEST: IPv4 over vxlan4: PMTU exceptions [SKIP]
vxlan4 not supported
TEST: IPv6 over vxlan4: PMTU exceptions [SKIP]
TEST: IPv4 over vxlan6: PMTU exceptions [ OK ]
TEST: IPv6 over vxlan6: PMTU exceptions [ OK ]
geneve4 not supported
TEST: IPv4 over geneve4: PMTU exceptions [SKIP]
geneve4 not supported
TEST: IPv6 over geneve4: PMTU exceptions [SKIP]
TEST: IPv4 over geneve6: PMTU exceptions [ OK ]
TEST: IPv6 over geneve6: PMTU exceptions [ OK ]
TEST: IPv4 over fou4: PMTU exceptions [ OK ]
TEST: IPv6 over fou4: PMTU exceptions [ OK ]
TEST: IPv4 over fou6: PMTU exceptions [ OK ]
TEST: IPv6 over fou6: PMTU exceptions [ OK ]
TEST: IPv4 over gue4: PMTU exceptions [ OK ]
TEST: IPv6 over gue4: PMTU exceptions [ OK ]
TEST: IPv4 over gue6: PMTU exceptions [ OK ]
TEST: IPv6 over gue6: PMTU exceptions [ OK ]
TEST: vti6: PMTU exceptions [ OK ]
TEST: vti4: PMTU exceptions [ OK ]
TEST: vti4: default MTU assignment [ OK ]
TEST: vti6: default MTU assignment [ OK ]
TEST: vti4: MTU setting on link creation [ OK ]
TEST: vti6: MTU setting on link creation [ OK ]
TEST: vti6: MTU changes on link changes [ OK ]
vxlan4 not supported
TEST: ipv4: cleanup of cached exceptions [SKIP]
TEST: ipv6: cleanup of cached exceptions [ OK ]
TEST: ipv4: list and flush cached exceptions [ OK ]
TEST: ipv6: list and flush cached exceptions [ OK ]
ubuntu@
1
Probably a test case issue.
This is not a regression as I can reproduce this on Bionic 5.4.0-1019-oracle as well
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: linux-image-
ProcVersionSign
Uname: Linux 5.4.0-1019-oracle x86_64
ApportVersion: 2.20.9-0ubuntu7.9
Architecture: amd64
Date: Wed Jul 15 11:28:29 2020
SourcePackage: linux-signed-
UpgradeStatus: No upgrade log present (probably fresh install)
Changed in ubuntu-kernel-tests: | |
assignee: | nobody → Po-Hsu Lin (cypressyew) |
Changed in ubuntu-kernel-tests: | |
status: | New → In Progress |
affects: | linux-signed-oracle-5.4 (Ubuntu) → linux (Ubuntu) |
tags: | added: focal |
tags: | added: hwe |
Changed in linux (Ubuntu Impish): | |
status: | In Progress → Fix Released |
Changed in linux (Ubuntu Hirsute): | |
status: | In Progress → Fix Released |
Changed in linux-oem-5.10 (Ubuntu Groovy): | |
status: | New → Invalid |
Changed in linux-oem-5.10 (Ubuntu Focal): | |
assignee: | nobody → Po-Hsu Lin (cypressyew) |
status: | New → In Progress |
Changed in linux-oem-5.10 (Ubuntu Hirsute): | |
status: | New → Invalid |
Changed in linux-oem-5.10 (Ubuntu Impish): | |
status: | New → Invalid |
Changed in linux-oem-5.6 (Ubuntu Focal): | |
status: | New → In Progress |
Changed in linux-oem-5.6 (Ubuntu Groovy): | |
status: | New → Invalid |
Changed in linux-oem-5.6 (Ubuntu Hirsute): | |
status: | New → Invalid |
Changed in linux-oem-5.6 (Ubuntu Impish): | |
status: | New → Invalid |
description: | updated |
Changed in linux (Ubuntu Focal): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Groovy): | |
status: | In Progress → Fix Committed |
Changed in linux-oem-5.10 (Ubuntu Focal): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Focal): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Groovy): | |
status: | In Progress → Fix Committed |
If you print the exit code after each sub test, you will see this is marked as failed after it was marked as SKIPPED for TEST: IPv4 over vxlan4: PMTU exceptions:
TEST: ipv4: PMTU exceptions [ OK ]
EXIT CODE is 0
TEST: ipv6: PMTU exceptions [ OK ]
EXIT CODE is 0
vxlan4 not supported
TEST: IPv4 over vxlan4: PMTU exceptions [SKIP]
EXIT CODE is 1
vxlan4 not supported
TEST: IPv6 over vxlan4: PMTU exceptions [SKIP]
EXIT CODE is 1
TEST: IPv4 over vxlan6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv6 over vxlan6: PMTU exceptions [ OK ]
EXIT CODE is 1
geneve4 not supported
TEST: IPv4 over geneve4: PMTU exceptions [SKIP]
EXIT CODE is 1
geneve4 not supported
TEST: IPv6 over geneve4: PMTU exceptions [SKIP]
EXIT CODE is 1
TEST: IPv4 over geneve6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv6 over geneve6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv4 over fou4: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv6 over fou4: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv4 over fou6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv6 over fou6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv4 over gue4: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv6 over gue4: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv4 over gue6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv6 over gue6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: vti6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: vti4: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: vti4: default MTU assignment [ OK ]
EXIT CODE is 1
TEST: vti6: default MTU assignment [ OK ]
EXIT CODE is 1
TEST: vti4: MTU setting on link creation [ OK ]
EXIT CODE is 1
TEST: vti6: MTU setting on link creation [ OK ]
EXIT CODE is 1
TEST: vti6: MTU changes on link changes [ OK ]
EXIT CODE is 1
vxlan4 not supported
TEST: ipv4: cleanup of cached exceptions [SKIP]
EXIT CODE is 1
TEST: ipv6: cleanup of cached exceptions [ OK ]
EXIT CODE is 1
TEST: ipv4: list and flush cached exceptions [ OK ]
EXIT CODE is 1
TEST: ipv6: list and flush cached exceptions [ OK ]
EXIT CODE is 1
The script will exit with this exit code, thus the test will be marked as failed.