From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
To: mptcp@lists.linux.dev, stable@vger.kernel.org,
gregkh@linuxfoundation.org
Cc: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>,
sashal@kernel.org, Geliang Tang <geliang@kernel.org>,
Jakub Kicinski <kuba@kernel.org>
Subject: [PATCH 6.1.y 5/6] selftests: mptcp: check subflow errors in close events
Date: Wed, 11 Feb 2026 20:06:23 +0100 [thread overview]
Message-ID: <20260211190617.77192-13-matttbe@kernel.org> (raw)
In-Reply-To: <20260211190617.77192-8-matttbe@kernel.org>
commit 2ef9e3a3845d0a20b62b01f5b731debd0364688d upstream.
This validates the previous commit: subflow closed events should contain
an error field when a subflow got closed with an error, e.g. reset or
timeout.
For this test, the chk_evt_nr helper has been extended to check
attributes in the matched events.
In this test, the 2 subflow closed events should have an error.
The 'Fixes' tag here below is the same as the one from the previous
commit: this patch here is not fixing anything wrong in the selftests,
but it validates the previous fix for an issue introduced by this commit
ID.
Fixes: 15cc10453398 ("mptcp: deliver ssk errors to msk")
Cc: stable@vger.kernel.org
Reviewed-by: Geliang Tang <geliang@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20260127-net-mptcp-dup-nl-events-v1-4-7f71e1bc4feb@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
[ Conflicts in mptcp_join.sh, because in this version, commit
20ccc7c5f7a3 ("selftests: mptcp: join: validate event numbers") has
been backported with adaptations to display results correctly, see
commit 5dc9170eee96 ("selftests: mptcp: join: validate event numbers")
for more details. The same type of adaptations had to be made here as
well. ]
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
.../testing/selftests/net/mptcp/mptcp_join.sh | 25 ++++++++++++++++---
1 file changed, 22 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index f5ae51dcf811..7d4df90d6281 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -3212,21 +3212,28 @@ userspace_pm_add_sf()
sleep 1
}
-# $1: ns ; $2: event type ; $3: count
+# $1: ns ; $2: event type ; $3: count ; [ $4: attr ; $5: attr count ]
chk_evt_nr()
{
local ns=${1}
local evt_name="${2}"
local exp="${3}"
+ local attr="${4}"
+ local attr_exp="${5}"
local evts="${evts_ns1}"
local evt="${!evt_name}"
+ local attr_name
local count
+ if [ -n "${attr}" ]; then
+ attr_name=", ${attr}: ${attr_exp}"
+ fi
+
evt_name="${evt_name:16}" # without MPTCP_LIB_EVENT_
[ "${ns}" == "ns2" ] && evts="${evts_ns2}"
- printf "%-${nr_blank}s %s" " " "event ${ns} ${evt_name} (${exp})"
+ printf "%-${nr_blank}s %s" " " "event ${ns} ${evt_name} (${exp}${attr_name})"
count=$(grep -cw "type:${evt}" "${evts}")
if [ "${count}" != "${exp}" ]; then
@@ -3234,6 +3241,18 @@ chk_evt_nr()
fail_test
dump_stats
cat "${evts}"
+ return
+ elif [ -z "${attr}" ]; then
+ echo "[ ok ]"
+ return
+ fi
+
+ count=$(grep -w "type:${evt}" "${evts}" | grep -c ",${attr}:")
+ if [ "${count}" != "${attr_exp}" ]; then
+ echo "[fail] got ${count} event attributes, expected ${attr_exp}"
+ fail_test
+ dump_stats
+ grep -w "type:${evt}" "${evts}"
else
echo "[ ok ]"
fi
@@ -3375,7 +3394,7 @@ userspace_tests()
chk_subflow_nr "" "after reject" 1
userspace_pm_add_sf $ns2 10.0.1.2 0
wait_event ns2 MPTCP_LIB_EVENT_SUB_CLOSED 2
- chk_evt_nr ns2 MPTCP_LIB_EVENT_SUB_CLOSED 2
+ chk_evt_nr ns2 MPTCP_LIB_EVENT_SUB_CLOSED 2 error 2
fi
kill_wait "${tests_pid}"
kill_events_pids
--
2.51.0
next prev parent reply other threads:[~2026-02-11 19:07 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-11 19:06 [PATCH 6.1.y 0/6] mptcp: fix recent failed backports (20260211) Matthieu Baerts (NGI0)
2026-02-11 19:06 ` [PATCH 6.1.y 1/6] selftests: mptcp: pm: ensure unknown flags are ignored Matthieu Baerts (NGI0)
2026-02-11 19:06 ` [PATCH 6.1.y 2/6] mptcp: schedule rtx timer only after pushing data Matthieu Baerts (NGI0)
2026-02-11 19:06 ` [PATCH 6.1.y 3/6] mptcp: ensure context reset on disconnect() Matthieu Baerts (NGI0)
2026-02-11 19:06 ` [PATCH 6.1.y 4/6] selftests: mptcp: check no dup close events after error Matthieu Baerts (NGI0)
2026-02-11 19:06 ` Matthieu Baerts (NGI0) [this message]
2026-02-11 19:06 ` [PATCH 6.1.y 6/6] selftests: mptcp: join: fix local endp not being tracked Matthieu Baerts (NGI0)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260211190617.77192-13-matttbe@kernel.org \
--to=matttbe@kernel.org \
--cc=geliang@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=kuba@kernel.org \
--cc=mptcp@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox