lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <829bc9a0-8b6a-f799-8434-7f42e6d7757e@alu.unizg.hr>
Date:   Sat, 22 Jul 2023 00:16:59 +0200
From:   Mirsad Todorovac <mirsad.todorovac@....unizg.hr>
To:     Ido Schimmel <idosch@...dia.com>, netdev@...r.kernel.org
Cc:     "David S. Miller" <davem@...emloft.net>,
        Eric Dumazet <edumazet@...gle.com>,
        Jakub Kicinski <kuba@...nel.org>,
        Paolo Abeni <pabeni@...hat.com>, Shuah Khan <shuah@...nel.org>,
        Amit Cohen <amcohen@...dia.com>,
        linux-kselftest@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [BUG] sefltests: forwarding: gre_custom_multipath_hash.sh: [FAIL] and
 syntax errors

Hi,

It's me again.

Don't throw things at me, but it is the same old vanilla torvalds tree kernel 6.5-rc2
kselftest run, and after applying the patches I ran into the new problems:

I have been free to add the timeout SIGTERM trap to the test, and this is the only
change, save for the Ido's lib.sh patch (for filling the veth NETIFS array in default
execution case).

Here is the command output:

# selftests: net/forwarding: gre_custom_multipath_hash.sh
# TEST: ping                                                          [ OK ]
# TEST: ping6                                                         [ OK ]
# INFO: Running IPv4 overlay custom multipath hash tests
# TEST: Multipath hash field: Inner source IP (balanced)              [ OK ]
# INFO: Packets sent on path1 / path2: 6760 / 5859
# TEST: Multipath hash field: Inner source IP (unbalanced)            [ OK ]
# INFO: Packets sent on path1 / path2: 2 / 12603
# TEST: Multipath hash field: Inner destination IP (balanced)         [ OK ]
# INFO: Packets sent on path1 / path2: 5850 / 6750
# TEST: Multipath hash field: Inner destination IP (unbalanced)       [ OK ]
# INFO: Packets sent on path1 / path2: 12602 / 1
# TEST: Multipath hash field: Inner source port (balanced)            [ OK ]
# INFO: Packets sent on path1 / path2: 16411 / 16364
# TEST: Multipath hash field: Inner source port (unbalanced)          [ OK ]
# INFO: Packets sent on path1 / path2: 32773 / 3
# TEST: Multipath hash field: Inner destination port (balanced)       [ OK ]
# INFO: Packets sent on path1 / path2: 16410 / 16362
# TEST: Multipath hash field: Inner destination port (unbalanced)     [ OK ]
# INFO: Packets sent on path1 / path2: 32770 / 0
# INFO: Running IPv6 overlay custom multipath hash tests
# TEST: Multipath hash field: Inner source IP (balanced)              [ OK ]
# INFO: Packets sent on path1 / path2: 6150 / 6452
# TEST: Multipath hash field: Inner source IP (unbalanced)            [ OK ]
# INFO: Packets sent on path1 / path2: 0 / 12600
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# TEST: Multipath hash field: Inner destination IP (balanced)         [FAIL]
# 	Expected traffic to be balanced, but it is not
# INFO: Packets sent on path1 / path2: -129763 / -77050
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# Invalid VRF name
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# Runtime error (func=(main), adr=3): Divide by zero
# (standard_in) 1: syntax error
# TEST: Multipath hash field: Inner destination IP (unbalanced)       [ OK ]
# INFO: Packets sent on path1 / path2: 0 / 0
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# Runtime error (func=(main), adr=3): Divide by zero
# (standard_in) 1: syntax error
# TEST: Multipath hash field: Inner flowlabel (balanced)              [FAIL]
# 	Expected traffic to be balanced, but it is not
# INFO: Packets sent on path1 / path2: 0 / 0
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# Invalid VRF name
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# Runtime error (func=(main), adr=3): Divide by zero
# (standard_in) 1: syntax error
# TEST: Multipath hash field: Inner flowlabel (unbalanced)            [ OK ]
# INFO: Packets sent on path1 / path2: 0 / 0
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# Invalid VRF name
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# Runtime error (func=(main), adr=3): Divide by zero
# (standard_in) 1: syntax error
# TEST: Multipath hash field: Inner source port (balanced)            [FAIL]
# 	Expected traffic to be balanced, but it is not
# INFO: Packets sent on path1 / path2: 0 / 0
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# Invalid VRF name
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# Runtime error (func=(main), adr=3): Divide by zero
# (standard_in) 1: syntax error
# TEST: Multipath hash field: Inner source port (unbalanced)          [ OK ]
# INFO: Packets sent on path1 / path2: 0 / 0
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# Invalid VRF name
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# Runtime error (func=(main), adr=3): Divide by zero
# (standard_in) 1: syntax error
# TEST: Multipath hash field: Inner destination port (balanced)       [FAIL]
# 	Expected traffic to be balanced, but it is not
# INFO: Packets sent on path1 / path2: 0 / 0
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# Invalid VRF name
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# jq: error (at <stdin>:1): Cannot iterate over null (null)
# Runtime error (func=(main), adr=3): Divide by zero
# (standard_in) 1: syntax error
# TEST: Multipath hash field: Inner destination port (unbalanced)     [ OK ]
# INFO: Packets sent on path1 / path2: 0 / 0
# Error: argument "vveth9" is wrong: Invalid VRF
#
# Error: argument "vveth9" is wrong: Invalid VRF
#
# RTNETLINK answers: Cannot assign requested address
# RTNETLINK answers: Cannot assign requested address
# RTNETLINK answers: No such process
# RTNETLINK answers: No such process
# Cannot find device "vveth9"
# Error: argument "vveth8" is wrong: Invalid VRF
#
# Error: argument "vveth8" is wrong: Invalid VRF
#
# Error: argument "vveth8" is wrong: Invalid VRF
#
# Cannot find device "g2"
# Cannot find device "g2"
# Cannot find device "g2"
# Cannot find device "g2"
# RTNETLINK answers: Cannot assign requested address
# RTNETLINK answers: Cannot assign requested address
# RTNETLINK answers: Cannot assign requested address
# RTNETLINK answers: No such process
# RTNETLINK answers: No such process
# Cannot find device "vveth8"
# Error: Invalid handle.
# Error: argument "vveth6" is wrong: Invalid VRF
#
# Error: argument "vveth6" is wrong: Invalid VRF
#
# Cannot find device "veth5.222"
# Cannot find device "veth5.111"
# RTNETLINK answers: Cannot assign requested address
# RTNETLINK answers: No such process
# RTNETLINK answers: No such process
# Cannot find device "vveth6"
# Error: argument "vveth3" is wrong: Invalid VRF
#
# Error: argument "vveth3" is wrong: Invalid VRF
#
# Cannot find device "veth4.222"
# Cannot find device "veth4.111"
# RTNETLINK answers: Cannot assign requested address
# RTNETLINK answers: No such process
# RTNETLINK answers: No such process
# Cannot find device "vveth3"
# Error: argument "vveth1" is wrong: Invalid VRF
#
# Error: argument "vveth1" is wrong: Invalid VRF
#
# Error: argument "vveth1" is wrong: Invalid VRF
#
# Cannot find device "g1"
# Cannot find device "g1"
# Cannot find device "g1"
# Cannot find device "g1"
# RTNETLINK answers: Cannot assign requested address
# RTNETLINK answers: Cannot assign requested address
# RTNETLINK answers: Cannot assign requested address
# RTNETLINK answers: No such process
# RTNETLINK answers: No such process
# Cannot find device "vveth1"
# Error: argument "vveth0" is wrong: Invalid VRF
#
# Error: argument "vveth0" is wrong: Invalid VRF
#
# RTNETLINK answers: Cannot assign requested address
# RTNETLINK answers: Cannot assign requested address
# RTNETLINK answers: No such process
# RTNETLINK answers: No such process
# Cannot find device "vveth0"
# RTNETLINK answers: File exists
# RTNETLINK answers: No such file or directory
# RTNETLINK answers: File exists
# RTNETLINK answers: No such file or directory
#
not ok 18 selftests: net/forwarding: gre_custom_multipath_hash.sh # TIMEOUT 240 seconds

Those things like RTNETLINK errors probably mess up things beyond what cleanup
does, so the reproducer might not be that easy to devise.

I have tried to reduce the complexity by adding:

trap cleanup INT TERM EXIT

to the tests that timed out.

Kind regards,
Mirsad

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ