From: Tushar Vyavahare <tushar.vyavahare@intel.com>
To: netdev@vger.kernel.org, magnus.karlsson@intel.com,
maciej.fijalkowski@intel.com, stfomichev@gmail.com,
kernelxing@tencent.com, davem@davemloft.net, kuba@kernel.org,
pabeni@redhat.com, ast@kernel.org, daniel@iogearbox.net,
tirthendu.sarkar@intel.com, tushar.vyavahare@intel.com,
andrii@kernel.org
Cc: bpf@vger.kernel.org
Subject: [PATCH net-next v3 2/4] selftests/xsk: skip TX setup after RX configuration failure
Date: Wed, 19 Aug 2026 02:44:41 +0000 [thread overview]
Message-ID: <20260819024443.781764-3-tushar.vyavahare@intel.com> (raw)
In-Reply-To: <20260819024443.781764-1-tushar.vyavahare@intel.com>
When RX socket setup fails during the first traffic step, the RX worker
reports test->fail only after waiting at the setup barrier. As a result,
the main thread may begin TX setup before it detects the failure.
In shared-UMEM tests, TX setup relies on the RX-side socket and UMEM state
being initialized successfully. Proceeding with TX setup after an RX
configuration failure can therefore access uninitialized state.
Set test->fail before the RX worker reaches the barrier and verify it
before starting the TX thread. The existing teardown path after thread
join already handles cleanup of the RX socket slots and UMEM.
Co-developed-by: Magnus Karlsson <magnus.karlsson@intel.com>
Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
Signed-off-by: Tushar Vyavahare <tushar.vyavahare@intel.com>
---
tools/testing/selftests/bpf/prog_tests/test_xsk.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/test_xsk.c b/tools/testing/selftests/bpf/prog_tests/test_xsk.c
index bba5e8d4222d..814b8325493f 100644
--- a/tools/testing/selftests/bpf/prog_tests/test_xsk.c
+++ b/tools/testing/selftests/bpf/prog_tests/test_xsk.c
@@ -1699,12 +1699,15 @@ void *worker_testapp_validate_rx(void *arg)
strerror(-err));
}
+ /* Publish setup failure before releasing the main thread from the barrier. */
+ if (err)
+ test->fail = true;
+
if (test->use_barrier)
pthread_barrier_wait(&barr);
/* We leave only now in case of error to avoid getting stuck in the barrier */
if (err) {
- test->fail = true;
pthread_exit(NULL);
}
@@ -1907,7 +1910,7 @@ static int __testapp_validate_traffic(struct test_spec *test, struct ifobject *i
}
}
- if (ifobj2) {
+ if (ifobj2 && !test->fail) {
/*Spawn TX thread */
pthread_create(&t1, NULL, ifobj2->func_ptr, test);
pthread_join(t1, NULL);
--
2.43.0
next prev parent reply other threads:[~2026-08-19 2:47 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-19 2:44 [PATCH net-next v3 0/4] selftests/xsk: improve shared-UMEM coverage Tushar Vyavahare
2026-08-19 2:44 ` [PATCH net-next v3 1/4] selftests/xsk: add UMEM users refcount and centralize socket teardown Tushar Vyavahare
2026-08-20 2:47 ` sashiko-bot
2026-08-20 18:42 ` bot+bpf-ci
2026-08-19 2:44 ` Tushar Vyavahare [this message]
2026-08-20 18:27 ` [PATCH net-next v3 2/4] selftests/xsk: skip TX setup after RX configuration failure bot+bpf-ci
2026-08-19 2:44 ` [PATCH net-next v3 3/4] selftests/xsk: expand XSKMAP capacity and add length-based XDP program Tushar Vyavahare
2026-08-19 2:44 ` [PATCH net-next v3 4/4] selftests/xsk: add shared-UMEM callback framework and initial test cases Tushar Vyavahare
2026-08-20 18:42 ` bot+bpf-ci
2026-08-20 9:35 ` [PATCH net-next v3 0/4] selftests/xsk: improve shared-UMEM coverage Paolo Abeni
2026-08-20 17:44 ` Jakub Kicinski
2026-08-20 17:53 ` Maciej Fijalkowski
2026-08-20 21:29 ` Jakub Kicinski
2026-08-27 14:19 ` Maciej Fijalkowski
2026-09-06 13:56 ` Björn Töpel
2026-09-04 5:41 ` Emil Tsalapatis
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=20260819024443.781764-3-tushar.vyavahare@intel.com \
--to=tushar.vyavahare@intel.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=kernelxing@tencent.com \
--cc=kuba@kernel.org \
--cc=maciej.fijalkowski@intel.com \
--cc=magnus.karlsson@intel.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=stfomichev@gmail.com \
--cc=tirthendu.sarkar@intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.