[PATCH net-next v2 2/2] selftests/vsock: fix vsock_test path shadowing in nested VMs
From: Bobby Eshleman
Date: Tue Mar 17 2026 - 18:11:11 EST
From: Bobby Eshleman <bobbyeshleman@xxxxxxxx>
The /root mount introduced for nested VM support shadows any host paths
under /root. This breaks systems where the outer VM runs as root and the
vsock_test binary path is something like:
/root/linux/tools/testing/selftests/vsock/vsock_test
Fix this by copying vsock_test into the temporary home directory that
gets mounted as /root in the guest, and using a relative path to invoke
it.
Signed-off-by: Bobby Eshleman <bobbyeshleman@xxxxxxxx>
---
tools/testing/selftests/vsock/vmtest.sh | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/vsock/vmtest.sh b/tools/testing/selftests/vsock/vmtest.sh
index a4b56322ce9b..30c06544f2e5 100755
--- a/tools/testing/selftests/vsock/vmtest.sh
+++ b/tools/testing/selftests/vsock/vmtest.sh
@@ -393,6 +393,7 @@ handle_build() {
setup_home() {
mkdir -p "$(dirname "${SSH_KEY_PATH}")"
ssh-keygen -t ed25519 -f "${SSH_KEY_PATH}" -N "" -q
+ cp "${VSOCK_TEST}" "${TEST_HOME}"/vsock_test
}
create_pidfile() {
@@ -601,7 +602,7 @@ vm_vsock_test() {
# log output and use pipefail to respect vsock_test errors
set -o pipefail
if [[ "${host}" != server ]]; then
- vm_ssh "${ns}" -- "${VSOCK_TEST}" \
+ vm_ssh "${ns}" -- ./vsock_test \
--mode=client \
--control-host="${host}" \
--peer-cid="${cid}" \
@@ -609,7 +610,7 @@ vm_vsock_test() {
2>&1 | log_guest
rc=$?
else
- vm_ssh "${ns}" -- "${VSOCK_TEST}" \
+ vm_ssh "${ns}" -- ./vsock_test \
--mode=server \
--peer-cid="${cid}" \
--control-port="${port}" \
--
2.52.0