Commit 464a8b6
committed
tools/qvm-run: use prefix_data feature instead of copy_stdin subprocess
Now that both qrexec-client and qrexec-client-vm supports --prefix-data
feature, it can be used to feed the initial command to qubes.VMShell
service. This means, the python part does not need write to stdin
anymore, and qrexec's stdin can be connected directly to the qvm-run's
stdi /dev/null if not needed).
This avoids one data copy, but also removes multiprocessing.Process
usage, which is problematic on Python 3.14 (it needs all arguments to be
pickle-able due to changed start method).
This change has a minor side effect: when using `qvm-run --dispvm=...`
with a shell command, the admin.vm.feature.CheckWithTemplate+os call is now
directed to the disposable template (before starting the disposable
qube), instead of at the new disposable qube itself. This is because the
shell command to inject now needs to be assembled before starting the
disposable.
Fixes QubesOS/qubes-issues#108551 parent e6e62e8 commit 464a8b6
2 files changed
Lines changed: 112 additions & 179 deletions
0 commit comments