From: Greg Kroah-Hartman Date: Thu, 22 Jun 2023 09:19:55 +0000 (+0200) Subject: 6.1-stable patches X-Git-Tag: v4.14.320~54 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2faf6b848d57069c18fcf5993c4b89402b95bbac;p=thirdparty%2Fkernel%2Fstable-queue.git 6.1-stable patches added patches: selftests-mptcp-diag-skip-listen-tests-if-not-supported.patch --- diff --git a/queue-6.1/selftests-mptcp-diag-skip-listen-tests-if-not-supported.patch b/queue-6.1/selftests-mptcp-diag-skip-listen-tests-if-not-supported.patch new file mode 100644 index 00000000000..bab41e25ea7 --- /dev/null +++ b/queue-6.1/selftests-mptcp-diag-skip-listen-tests-if-not-supported.patch @@ -0,0 +1,128 @@ +From dc97251bf0b70549c76ba261516c01b8096771c5 Mon Sep 17 00:00:00 2001 +From: Matthieu Baerts +Date: Thu, 8 Jun 2023 18:38:47 +0200 +Subject: selftests: mptcp: diag: skip listen tests if not supported + +From: Matthieu Baerts + +commit dc97251bf0b70549c76ba261516c01b8096771c5 upstream. + +Selftests are supposed to run on any kernels, including the old ones not +supporting all MPTCP features. + +One of them is the listen diag dump support introduced by +commit 4fa39b701ce9 ("mptcp: listen diag dump support"). + +It looks like there is no good pre-check to do here, i.e. dedicated +function available in kallsyms. Instead, we try to get info if nothing +is returned, the test is marked as skipped. + +That's not ideal because something could be wrong with the feature and +instead of reporting an error, the test could be marked as skipped. If +we know in advanced that the feature is supposed to be supported, the +tester can set SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES env var to 1: in +this case the test will report an error instead of marking the test as +skipped if nothing is returned. + +Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 +Fixes: f2ae0fa68e28 ("selftests/mptcp: add diag listen tests") +Cc: stable@vger.kernel.org +Signed-off-by: Matthieu Baerts +Signed-off-by: Jakub Kicinski +Signed-off-by: Greg Kroah-Hartman +--- + tools/testing/selftests/net/mptcp/diag.sh | 47 +++++++++++++++--------------- + 1 file changed, 24 insertions(+), 23 deletions(-) + +--- a/tools/testing/selftests/net/mptcp/diag.sh ++++ b/tools/testing/selftests/net/mptcp/diag.sh +@@ -42,27 +42,39 @@ fi + + __chk_nr() + { +- local condition="$1" ++ local command="$1" + local expected=$2 +- local msg nr ++ local msg="$3" ++ local skip="${4:-SKIP}" ++ local nr + +- shift 2 +- msg=$* +- nr=$(ss -inmHMN $ns | $condition) ++ nr=$(eval $command) + + printf "%-50s" "$msg" + if [ $nr != $expected ]; then +- echo "[ fail ] expected $expected found $nr" +- ret=$test_cnt ++ if [ $nr = "$skip" ] && ! mptcp_lib_expect_all_features; then ++ echo "[ skip ] Feature probably not supported" ++ else ++ echo "[ fail ] expected $expected found $nr" ++ ret=$test_cnt ++ fi + else + echo "[ ok ]" + fi + test_cnt=$((test_cnt+1)) + } + ++__chk_msk_nr() ++{ ++ local condition=$1 ++ shift 1 ++ ++ __chk_nr "ss -inmHMN $ns | $condition" "$@" ++} ++ + chk_msk_nr() + { +- __chk_nr "grep -c token:" $* ++ __chk_msk_nr "grep -c token:" "$@" + } + + wait_msk_nr() +@@ -100,37 +112,26 @@ wait_msk_nr() + + chk_msk_fallback_nr() + { +- __chk_nr "grep -c fallback" $* ++ __chk_msk_nr "grep -c fallback" "$@" + } + + chk_msk_remote_key_nr() + { +- __chk_nr "grep -c remote_key" $* ++ __chk_msk_nr "grep -c remote_key" "$@" + } + + __chk_listen() + { + local filter="$1" + local expected=$2 ++ local msg="$3" + +- shift 2 +- msg=$* +- +- nr=$(ss -N $ns -Ml "$filter" | grep -c LISTEN) +- printf "%-50s" "$msg" +- +- if [ $nr != $expected ]; then +- echo "[ fail ] expected $expected found $nr" +- ret=$test_cnt +- else +- echo "[ ok ]" +- fi ++ __chk_nr "ss -N $ns -Ml '$filter' | grep -c LISTEN" "$expected" "$msg" 0 + } + + chk_msk_listen() + { + lport=$1 +- local msg="check for listen socket" + + # destination port search should always return empty list + __chk_listen "dport $lport" 0 "listen match for dport $lport" diff --git a/queue-6.1/series b/queue-6.1/series index 77254e233d5..1e1472248bd 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -34,3 +34,4 @@ selftests-mptcp-join-skip-backup-if-set-flag-on-id-not-supported.patch selftests-mptcp-join-skip-fullmesh-flag-tests-if-not-supported.patch selftests-mptcp-join-skip-mpc-backups-tests-if-not-supported.patch selftests-mount_setattr-fix-redefine-struct-mount_attr-build-error.patch +selftests-mptcp-diag-skip-listen-tests-if-not-supported.patch