ShellCheck - shell script analysis tool version: 0.10.0 license: GNU General Public License, version 3 website: https://www.shellcheck.net Redirect to /tmp/tmp.atbv1Pw7gD and /tmp/tmp.J1BO0meDvR Tree base: dd831ac8221e ("net/sched: sch_qfq: Fix null-deref in agg_dequeue") Now at: dcf69fb2f30f ("selftests: net: increase inter-packet timeout in udpgro.sh") ====== Checking before the patch ====== Checking tools/testing/selftests/net/udpgro.sh - 8c03359bdc3d44b1203fc48ddf2cffb9524a7f29dc28ad3b2aed94b5c4040bc0 In udpgro.sh line 8: readonly PEER_NS="ns-peer-$(mktemp -u XXXXXX)" ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. In udpgro.sh line 13: if [ $ret -eq 0 ]; then ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: if [ "$ret" -eq 0 ]; then In udpgro.sh line 20: local -r ns="$(ip netns list|grep $PEER_NS)" ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: local -r ns="$(ip netns list|grep "$PEER_NS")" In udpgro.sh line 22: [ -n "${jobs}" ] && kill -1 ${jobs} 2>/dev/null ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ -n "${jobs}" ] && kill -1 "${jobs}" 2>/dev/null In udpgro.sh line 23: [ -n "$ns" ] && ip netns del $ns 2>/dev/null ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ -n "$ns" ] && ip netns del "$ns" 2>/dev/null In udpgro.sh line 44: local -r all="$@" ^--^ SC2124 (warning): Assigning an array to a string! Assign as array, or use * instead of @ to concatenate. In udpgro.sh line 51: ip netns exec "${PEER_NS}" ./udpgso_bench_rx -C 1000 -R 10 ${rx_args} & ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip netns exec "${PEER_NS}" ./udpgso_bench_rx -C 1000 -R 10 "${rx_args}" & In udpgro.sh line 54: wait_local_port_listen ${PEER_NS} 8000 udp ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: wait_local_port_listen "${PEER_NS}" 8000 udp In udpgro.sh line 55: ./udpgso_bench_tx ${tx_args} ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ./udpgso_bench_tx "${tx_args}" In udpgro.sh line 64: local -r args=$@ ^-- SC2124 (warning): Assigning an array to a string! Assign as array, or use * instead of @ to concatenate. In udpgro.sh line 67: ./in_netns.sh $0 __subprocess $2 rx -G -r $3 ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ./in_netns.sh "$0" __subprocess "$2" rx -G -r "$3" In udpgro.sh line 73: local -r all="$@" ^--^ SC2124 (warning): Assigning an array to a string! Assign as array, or use * instead of @ to concatenate. In udpgro.sh line 89: ip -netns "${PEER_NS}" addr add dev veth1 ${addr2} ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -netns "${PEER_NS}" addr add dev veth1 "${addr2}" In udpgro.sh line 92: ip netns exec "${PEER_NS}" $ipt_cmd -t nat -I PREROUTING -d ${addr1} -j DNAT --to-destination ${addr2%/*} ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip netns exec "${PEER_NS}" $ipt_cmd -t nat -I PREROUTING -d ${addr1} -j DNAT --to-destination "${addr2%/*}" In udpgro.sh line 98: ip netns exec "${PEER_NS}" ./udpgso_bench_rx -C 1000 -R 10 ${family} -b ${addr2%/*} ${rx_args} & ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip netns exec "${PEER_NS}" ./udpgso_bench_rx -C 1000 -R 10 ${family} -b "${addr2%/*}" "${rx_args}" & In udpgro.sh line 102: ./udpgso_bench_tx ${tx_args} ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ./udpgso_bench_tx "${tx_args}" In udpgro.sh line 113: local -r all="$@" ^--^ SC2124 (warning): Assigning an array to a string! Assign as array, or use * instead of @ to concatenate. In udpgro.sh line 120: ip netns exec "${PEER_NS}" ./udpgso_bench_rx -C 1000 -R 10 ${rx_args} -p 12345 & ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip netns exec "${PEER_NS}" ./udpgso_bench_rx -C 1000 -R 10 "${rx_args}" -p 12345 & In udpgro.sh line 122: ip netns exec "${PEER_NS}" ./udpgso_bench_rx -C 2000 -R 10 ${rx_args} & ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip netns exec "${PEER_NS}" ./udpgso_bench_rx -C 2000 -R 10 "${rx_args}" & In udpgro.sh line 126: ./udpgso_bench_tx ${tx_args} -p 12345 ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ./udpgso_bench_tx "${tx_args}" -p 12345 In udpgro.sh line 129: ./udpgso_bench_tx ${tx_args} ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ./udpgso_bench_tx "${tx_args}" In udpgro.sh line 140: local -r args=$@ ^-- SC2124 (warning): Assigning an array to a string! Assign as array, or use * instead of @ to concatenate. In udpgro.sh line 143: ./in_netns.sh $0 __subprocess_nat $2 rx -r $3 ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ./in_netns.sh "$0" __subprocess_nat "$2" rx -r "$3" In udpgro.sh line 147: local -r args=$@ ^--^ SC2034 (warning): args appears unused. Verify use (or export if used externally). ^-- SC2124 (warning): Assigning an array to a string! Assign as array, or use * instead of @ to concatenate. In udpgro.sh line 150: ./in_netns.sh $0 __subprocess_2sock $2 rx -G -r $3 ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ./in_netns.sh "$0" __subprocess_2sock "$2" rx -G -r "$3" In udpgro.sh line 204: return $ret ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$ret" In udpgro.sh line 211: run_one $@ ^-- SC2068 (error): Double quote array expansions to avoid re-splitting elements. In udpgro.sh line 214: run_one_nat $@ ^-- SC2068 (error): Double quote array expansions to avoid re-splitting elements. In udpgro.sh line 217: run_one_2sock $@ ^-- SC2068 (error): Double quote array expansions to avoid re-splitting elements. For more information: https://www.shellcheck.net/wiki/SC2068 -- Double quote array expansions to ... https://www.shellcheck.net/wiki/SC2034 -- args appears unused. Verify use (... https://www.shellcheck.net/wiki/SC2124 -- Assigning an array to a string! A... ====== Checking the tree with the patch ====== Checking tools/testing/selftests/net/udpgro.sh - 8c03359bdc3d44b1203fc48ddf2cffb9524a7f29dc28ad3b2aed94b5c4040bc0 In udpgro.sh line 8: readonly PEER_NS="ns-peer-$(mktemp -u XXXXXX)" ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values. In udpgro.sh line 13: if [ $ret -eq 0 ]; then ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: if [ "$ret" -eq 0 ]; then In udpgro.sh line 20: local -r ns="$(ip netns list|grep $PEER_NS)" ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: local -r ns="$(ip netns list|grep "$PEER_NS")" In udpgro.sh line 22: [ -n "${jobs}" ] && kill -1 ${jobs} 2>/dev/null ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ -n "${jobs}" ] && kill -1 "${jobs}" 2>/dev/null In udpgro.sh line 23: [ -n "$ns" ] && ip netns del $ns 2>/dev/null ^-^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ -n "$ns" ] && ip netns del "$ns" 2>/dev/null In udpgro.sh line 44: local -r all="$@" ^--^ SC2124 (warning): Assigning an array to a string! Assign as array, or use * instead of @ to concatenate. In udpgro.sh line 51: ip netns exec "${PEER_NS}" ./udpgso_bench_rx -C 1000 -R 100 ${rx_args} & ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip netns exec "${PEER_NS}" ./udpgso_bench_rx -C 1000 -R 100 "${rx_args}" & In udpgro.sh line 54: wait_local_port_listen ${PEER_NS} 8000 udp ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: wait_local_port_listen "${PEER_NS}" 8000 udp In udpgro.sh line 55: ./udpgso_bench_tx ${tx_args} ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ./udpgso_bench_tx "${tx_args}" In udpgro.sh line 64: local -r args=$@ ^-- SC2124 (warning): Assigning an array to a string! Assign as array, or use * instead of @ to concatenate. In udpgro.sh line 67: ./in_netns.sh $0 __subprocess $2 rx -G -r $3 ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ./in_netns.sh "$0" __subprocess "$2" rx -G -r "$3" In udpgro.sh line 73: local -r all="$@" ^--^ SC2124 (warning): Assigning an array to a string! Assign as array, or use * instead of @ to concatenate. In udpgro.sh line 89: ip -netns "${PEER_NS}" addr add dev veth1 ${addr2} ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -netns "${PEER_NS}" addr add dev veth1 "${addr2}" In udpgro.sh line 92: ip netns exec "${PEER_NS}" $ipt_cmd -t nat -I PREROUTING -d ${addr1} -j DNAT --to-destination ${addr2%/*} ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip netns exec "${PEER_NS}" $ipt_cmd -t nat -I PREROUTING -d ${addr1} -j DNAT --to-destination "${addr2%/*}" In udpgro.sh line 98: ip netns exec "${PEER_NS}" ./udpgso_bench_rx -C 1000 -R 100 ${family} -b ${addr2%/*} ${rx_args} & ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip netns exec "${PEER_NS}" ./udpgso_bench_rx -C 1000 -R 100 ${family} -b "${addr2%/*}" "${rx_args}" & In udpgro.sh line 102: ./udpgso_bench_tx ${tx_args} ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ./udpgso_bench_tx "${tx_args}" In udpgro.sh line 113: local -r all="$@" ^--^ SC2124 (warning): Assigning an array to a string! Assign as array, or use * instead of @ to concatenate. In udpgro.sh line 120: ip netns exec "${PEER_NS}" ./udpgso_bench_rx -C 1000 -R 100 ${rx_args} -p 12345 & ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip netns exec "${PEER_NS}" ./udpgso_bench_rx -C 1000 -R 100 "${rx_args}" -p 12345 & In udpgro.sh line 122: ip netns exec "${PEER_NS}" ./udpgso_bench_rx -C 2000 -R 100 ${rx_args} & ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip netns exec "${PEER_NS}" ./udpgso_bench_rx -C 2000 -R 100 "${rx_args}" & In udpgro.sh line 126: ./udpgso_bench_tx ${tx_args} -p 12345 ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ./udpgso_bench_tx "${tx_args}" -p 12345 In udpgro.sh line 129: ./udpgso_bench_tx ${tx_args} ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ./udpgso_bench_tx "${tx_args}" In udpgro.sh line 140: local -r args=$@ ^-- SC2124 (warning): Assigning an array to a string! Assign as array, or use * instead of @ to concatenate. In udpgro.sh line 143: ./in_netns.sh $0 __subprocess_nat $2 rx -r $3 ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ./in_netns.sh "$0" __subprocess_nat "$2" rx -r "$3" In udpgro.sh line 147: local -r args=$@ ^--^ SC2034 (warning): args appears unused. Verify use (or export if used externally). ^-- SC2124 (warning): Assigning an array to a string! Assign as array, or use * instead of @ to concatenate. In udpgro.sh line 150: ./in_netns.sh $0 __subprocess_2sock $2 rx -G -r $3 ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ./in_netns.sh "$0" __subprocess_2sock "$2" rx -G -r "$3" In udpgro.sh line 204: return $ret ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$ret" In udpgro.sh line 211: run_one $@ ^-- SC2068 (error): Double quote array expansions to avoid re-splitting elements. In udpgro.sh line 214: run_one_nat $@ ^-- SC2068 (error): Double quote array expansions to avoid re-splitting elements. In udpgro.sh line 217: run_one_2sock $@ ^-- SC2068 (error): Double quote array expansions to avoid re-splitting elements. For more information: https://www.shellcheck.net/wiki/SC2068 -- Double quote array expansions to ... https://www.shellcheck.net/wiki/SC2034 -- args appears unused. Verify use (... https://www.shellcheck.net/wiki/SC2124 -- Assigning an array to a string! A...