From: Greg Kroah-Hartman Date: Mon, 8 Apr 2024 11:22:05 +0000 (+0200) Subject: 6.6-stable patches X-Git-Tag: v5.15.154~25 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a417459a95a358de014c7c4606b7287c4af80783;p=thirdparty%2Fkernel%2Fstable-queue.git 6.6-stable patches added patches: selftests-mptcp-connect-fix-shellcheck-warnings.patch --- diff --git a/queue-6.6/selftests-mptcp-connect-fix-shellcheck-warnings.patch b/queue-6.6/selftests-mptcp-connect-fix-shellcheck-warnings.patch new file mode 100644 index 00000000000..1e085a85a54 --- /dev/null +++ b/queue-6.6/selftests-mptcp-connect-fix-shellcheck-warnings.patch @@ -0,0 +1,237 @@ +From e3aae1098f109f0bd33c971deff1926f4e4441d0 Mon Sep 17 00:00:00 2001 +From: "Matthieu Baerts (NGI0)" +Date: Wed, 6 Mar 2024 10:42:57 +0100 +Subject: selftests: mptcp: connect: fix shellcheck warnings + +From: Matthieu Baerts (NGI0) + +commit e3aae1098f109f0bd33c971deff1926f4e4441d0 upstream. + +shellcheck recently helped to prevent issues. It is then good to fix the +other harmless issues in order to spot "real" ones later. + +Here, two categories of warnings are now ignored: + +- SC2317: Command appears to be unreachable. The cleanup() function is + invoked indirectly via the EXIT trap. + +- SC2086: Double quote to prevent globbing and word splitting. This is + recommended, but the current usage is correct and there is no need to + do all these modifications to be compliant with this rule. + +For the modifications: + + - SC2034: ksft_skip appears unused. + - SC2181: Check exit code directly with e.g. 'if mycmd;', not + indirectly with $?. + - SC2004: $/${} is unnecessary on arithmetic variables. + - SC2155: Declare and assign separately to avoid masking return + values. + - SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. + - SC2059: Don't use variables in the printf format string. Use printf + '..%s..' "$foo". + +Now this script is shellcheck (0.9.0) compliant. We can easily spot new +issues. + +Reviewed-by: Mat Martineau +Signed-off-by: Matthieu Baerts (NGI0) +Link: https://lore.kernel.org/r/20240306-upstream-net-next-20240304-selftests-mptcp-shared-code-shellcheck-v2-8-bc79e6e5e6a0@kernel.org +Signed-off-by: Jakub Kicinski +Signed-off-by: Matthieu Baerts (NGI0) +Signed-off-by: Greg Kroah-Hartman +--- + tools/testing/selftests/net/mptcp/mptcp_connect.sh | 76 ++++++++++++--------- + 1 file changed, 47 insertions(+), 29 deletions(-) + +--- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh ++++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh +@@ -1,6 +1,11 @@ + #!/bin/bash + # SPDX-License-Identifier: GPL-2.0 + ++# Double quotes to prevent globbing and word splitting is recommended in new ++# code but we accept it, especially because there were too many before having ++# address all other issues detected by shellcheck. ++#shellcheck disable=SC2086 ++ + . "$(dirname "${0}")/mptcp_lib.sh" + + time_start=$(date +%s) +@@ -13,7 +18,6 @@ sout="" + cin_disconnect="" + cin="" + cout="" +-ksft_skip=4 + capture=false + timeout_poll=30 + timeout_test=$((timeout_poll * 2 + 1)) +@@ -131,6 +135,8 @@ ns4="ns4-$rndh" + TEST_COUNT=0 + TEST_GROUP="" + ++# This function is used in the cleanup trap ++#shellcheck disable=SC2317 + cleanup() + { + rm -f "$cin_disconnect" "$cout_disconnect" +@@ -225,8 +231,9 @@ set_ethtool_flags() { + local dev="$2" + local flags="$3" + +- ip netns exec $ns ethtool -K $dev $flags 2>/dev/null +- [ $? -eq 0 ] && echo "INFO: set $ns dev $dev: ethtool -K $flags" ++ if ip netns exec $ns ethtool -K $dev $flags 2>/dev/null; then ++ echo "INFO: set $ns dev $dev: ethtool -K $flags" ++ fi + } + + set_random_ethtool_flags() { +@@ -363,7 +370,7 @@ do_transfer() + local extra_args="$7" + + local port +- port=$((10000+$TEST_COUNT)) ++ port=$((10000+TEST_COUNT)) + TEST_COUNT=$((TEST_COUNT+1)) + + if [ "$rcvbuf" -gt 0 ]; then +@@ -420,12 +427,18 @@ do_transfer() + nstat -n + fi + +- local stat_synrx_last_l=$(mptcp_lib_get_counter "${listener_ns}" "MPTcpExtMPCapableSYNRX") +- local stat_ackrx_last_l=$(mptcp_lib_get_counter "${listener_ns}" "MPTcpExtMPCapableACKRX") +- local stat_cookietx_last=$(mptcp_lib_get_counter "${listener_ns}" "TcpExtSyncookiesSent") +- local stat_cookierx_last=$(mptcp_lib_get_counter "${listener_ns}" "TcpExtSyncookiesRecv") +- local stat_csum_err_s=$(mptcp_lib_get_counter "${listener_ns}" "MPTcpExtDataCsumErr") +- local stat_csum_err_c=$(mptcp_lib_get_counter "${connector_ns}" "MPTcpExtDataCsumErr") ++ local stat_synrx_last_l ++ local stat_ackrx_last_l ++ local stat_cookietx_last ++ local stat_cookierx_last ++ local stat_csum_err_s ++ local stat_csum_err_c ++ stat_synrx_last_l=$(mptcp_lib_get_counter "${listener_ns}" "MPTcpExtMPCapableSYNRX") ++ stat_ackrx_last_l=$(mptcp_lib_get_counter "${listener_ns}" "MPTcpExtMPCapableACKRX") ++ stat_cookietx_last=$(mptcp_lib_get_counter "${listener_ns}" "TcpExtSyncookiesSent") ++ stat_cookierx_last=$(mptcp_lib_get_counter "${listener_ns}" "TcpExtSyncookiesRecv") ++ stat_csum_err_s=$(mptcp_lib_get_counter "${listener_ns}" "MPTcpExtDataCsumErr") ++ stat_csum_err_c=$(mptcp_lib_get_counter "${connector_ns}" "MPTcpExtDataCsumErr") + + timeout ${timeout_test} \ + ip netns exec ${listener_ns} \ +@@ -488,11 +501,16 @@ do_transfer() + check_transfer $cin $sout "file received by server" + rets=$? + +- local stat_synrx_now_l=$(mptcp_lib_get_counter "${listener_ns}" "MPTcpExtMPCapableSYNRX") +- local stat_ackrx_now_l=$(mptcp_lib_get_counter "${listener_ns}" "MPTcpExtMPCapableACKRX") +- local stat_cookietx_now=$(mptcp_lib_get_counter "${listener_ns}" "TcpExtSyncookiesSent") +- local stat_cookierx_now=$(mptcp_lib_get_counter "${listener_ns}" "TcpExtSyncookiesRecv") +- local stat_ooo_now=$(mptcp_lib_get_counter "${listener_ns}" "TcpExtTCPOFOQueue") ++ local stat_synrx_now_l ++ local stat_ackrx_now_l ++ local stat_cookietx_now ++ local stat_cookierx_now ++ local stat_ooo_now ++ stat_synrx_now_l=$(mptcp_lib_get_counter "${listener_ns}" "MPTcpExtMPCapableSYNRX") ++ stat_ackrx_now_l=$(mptcp_lib_get_counter "${listener_ns}" "MPTcpExtMPCapableACKRX") ++ stat_cookietx_now=$(mptcp_lib_get_counter "${listener_ns}" "TcpExtSyncookiesSent") ++ stat_cookierx_now=$(mptcp_lib_get_counter "${listener_ns}" "TcpExtSyncookiesRecv") ++ stat_ooo_now=$(mptcp_lib_get_counter "${listener_ns}" "TcpExtTCPOFOQueue") + + expect_synrx=$((stat_synrx_last_l)) + expect_ackrx=$((stat_ackrx_last_l)) +@@ -501,8 +519,8 @@ do_transfer() + cookies=${cookies##*=} + + if [ ${cl_proto} = "MPTCP" ] && [ ${srv_proto} = "MPTCP" ]; then +- expect_synrx=$((stat_synrx_last_l+$connect_per_transfer)) +- expect_ackrx=$((stat_ackrx_last_l+$connect_per_transfer)) ++ expect_synrx=$((stat_synrx_last_l+connect_per_transfer)) ++ expect_ackrx=$((stat_ackrx_last_l+connect_per_transfer)) + fi + + if [ ${stat_synrx_now_l} -lt ${expect_synrx} ]; then +@@ -510,7 +528,7 @@ do_transfer() + "${stat_synrx_now_l}" "${expect_synrx}" 1>&2 + retc=1 + fi +- if [ ${stat_ackrx_now_l} -lt ${expect_ackrx} -a ${stat_ooo_now} -eq 0 ]; then ++ if [ ${stat_ackrx_now_l} -lt ${expect_ackrx} ] && [ ${stat_ooo_now} -eq 0 ]; then + if [ ${stat_ooo_now} -eq 0 ]; then + printf "[ FAIL ] lower MPC ACK rx (%d) than expected (%d)\n" \ + "${stat_ackrx_now_l}" "${expect_ackrx}" 1>&2 +@@ -521,18 +539,20 @@ do_transfer() + fi + + if $checksum; then +- local csum_err_s=$(mptcp_lib_get_counter "${listener_ns}" "MPTcpExtDataCsumErr") +- local csum_err_c=$(mptcp_lib_get_counter "${connector_ns}" "MPTcpExtDataCsumErr") ++ local csum_err_s ++ local csum_err_c ++ csum_err_s=$(mptcp_lib_get_counter "${listener_ns}" "MPTcpExtDataCsumErr") ++ csum_err_c=$(mptcp_lib_get_counter "${connector_ns}" "MPTcpExtDataCsumErr") + + local csum_err_s_nr=$((csum_err_s - stat_csum_err_s)) + if [ $csum_err_s_nr -gt 0 ]; then +- printf "[ FAIL ]\nserver got $csum_err_s_nr data checksum error[s]" ++ printf "[ FAIL ]\nserver got %d data checksum error[s]" ${csum_err_s_nr} + rets=1 + fi + + local csum_err_c_nr=$((csum_err_c - stat_csum_err_c)) + if [ $csum_err_c_nr -gt 0 ]; then +- printf "[ FAIL ]\nclient got $csum_err_c_nr data checksum error[s]" ++ printf "[ FAIL ]\nclient got %d data checksum error[s]" ${csum_err_c_nr} + retc=1 + fi + fi +@@ -701,7 +721,7 @@ run_test_transparent() + return + fi + +-ip netns exec "$listener_ns" nft -f /dev/stdin <<"EOF" ++ if ! ip netns exec "$listener_ns" nft -f /dev/stdin <<"EOF" + flush ruleset + table inet mangle { + chain divert { +@@ -712,7 +732,7 @@ table inet mangle { + } + } + EOF +- if [ $? -ne 0 ]; then ++ then + echo "SKIP: $msg, could not load nft ruleset" + mptcp_lib_fail_if_expected_feature "nft rules" + mptcp_lib_result_skip "${TEST_GROUP}" +@@ -727,8 +747,7 @@ EOF + local_addr="0.0.0.0" + fi + +- ip -net "$listener_ns" $r6flag rule add fwmark 1 lookup 100 +- if [ $? -ne 0 ]; then ++ if ! ip -net "$listener_ns" $r6flag rule add fwmark 1 lookup 100; then + ip netns exec "$listener_ns" nft flush ruleset + echo "SKIP: $msg, ip $r6flag rule failed" + mptcp_lib_fail_if_expected_feature "ip rule" +@@ -736,8 +755,7 @@ EOF + return + fi + +- ip -net "$listener_ns" route add local $local_addr/0 dev lo table 100 +- if [ $? -ne 0 ]; then ++ if ! ip -net "$listener_ns" route add local $local_addr/0 dev lo table 100; then + ip netns exec "$listener_ns" nft flush ruleset + ip -net "$listener_ns" $r6flag rule del fwmark 1 lookup 100 + echo "SKIP: $msg, ip route add local $local_addr failed" +@@ -900,7 +918,7 @@ stop_if_error "Could not even run ping t + echo -n "INFO: Using loss of $tc_loss " + test "$tc_delay" -gt 0 && echo -n "delay $tc_delay ms " + +-reorder_delay=$(($tc_delay / 4)) ++reorder_delay=$((tc_delay / 4)) + + if [ -z "${tc_reorder}" ]; then + reorder1=$((RANDOM%10)) diff --git a/queue-6.6/series b/queue-6.6/series index 39cf3a81b6c..378f9558120 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -240,3 +240,4 @@ drm-i915-gt-do-not-generate-the-command-streamer-for-all-the-ccs.patch drm-i915-gt-enable-only-one-ccs-for-compute-workload.patch revert-x86-mpparse-register-apic-address-only-once.patch of-module-prevent-null-pointer-dereference-in-vsnprintf.patch +selftests-mptcp-connect-fix-shellcheck-warnings.patch