selftests/vsock: fix vsock_test path shadowing in nested VMs
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@meta.com> Link: https://patch.msgid.link/20260317-vsock-vmtest-nested-fixes-v2-2-0b3f53b80a0f@meta.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>master
parent
865926e26e
commit
0c3893d378
|
|
@ -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() {
|
||||
|
|
@ -620,7 +621,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}" \
|
||||
|
|
@ -628,7 +629,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}" \
|
||||
|
|
|
|||
Loading…
Reference in New Issue