[G][F/OEM-5.6][SRU][PATCH 0/1] selftests: xfrm: fix test return value override issue in xfrm_policy.sh

Po-Hsu Lin po-hsu.lin at canonical.com
Wed Mar 10 07:53:49 UTC 2021


[Impact]
Even with failed cases reported in the xfrm_policy.sh test, the
overall result is still "PASS"
$ sudo ./xfrm_policy.sh
 # selftests: net: xfrm_policy.sh
 # PASS: policy before exception matches
 # FAIL: expected ping to .254 to fail (exceptions)
 # PASS: direct policy matches (exceptions)
 # PASS: policy matches (exceptions)
 # FAIL: expected ping to .254 to fail (exceptions and block policies)
 # PASS: direct policy matches (exceptions and block policies)
 # PASS: policy matches (exceptions and block policies)
 # FAIL: expected ping to .254 to fail (exceptions and block policies after hresh changes)
 # PASS: direct policy matches (exceptions and block policies after hresh changes)
 # PASS: policy matches (exceptions and block policies after hresh changes)
 # FAIL: expected ping to .254 to fail (exceptions and block policies after hthresh change in ns3)
 # PASS: direct policy matches (exceptions and block policies after hthresh change in ns3)
 # PASS: policy matches (exceptions and block policies after hthresh change in ns3)
 # FAIL: expected ping to .254 to fail (exceptions and block policies after htresh change to normal)
 # PASS: direct policy matches (exceptions and block policies after htresh change to normal)
 # PASS: policy matches (exceptions and block policies after htresh change to normal)
 # PASS: policies with repeated htresh change
 ok 12 selftests: net: xfrm_policy.sh
$ echo $?
0

This is because of the variable "lret" in check_xfrm() is not a
local variable, and it looks like it will override the one in
check_exceptions() thus making the return value become 0 for the
passed test case after the failed one.

[Fix]
* f6e9ceb7a7fc32 (" selftests: xfrm: fix test return value override
issue in xfrm_policy.sh")

Focal kernel got this patch via stable update, and we don't have
this test in Bionic. Only Groovy and OEM-5.6 are affected.

This patch can be cherry-picked into all of the affected kernels.

[Test]
Run the xfrm_policy.sh test, if there is any failed case the final
result will not be 0.

[Regression Potential]
This change is just for testing tools, it's unlikely to affect real
kernel functionality. However it's expected to generate failures in
our test report as it's reflecting the real test result.

Po-Hsu Lin (1):
  selftests: xfrm: fix test return value override issue in
    xfrm_policy.sh

 tools/testing/selftests/net/xfrm_policy.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.7.4




More information about the kernel-team mailing list