envconfig: allow running executables if subsystem is not set

detect_subsystem(system) is just a simple transformation if
system; do not require setting machine_info.subsystem at all
costs, and if it is unset just assume that it is okay since
the system has already been matched.

Regression introduced by commit 61c5859b7 ("envconfig: Cannot
run executables if subsystem doesn't match", 2026-02-04).

Fixes: #15840
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini
2026-06-09 20:58:36 +02:00
committed by Paolo Bonzini
parent 8e9c69cab1
commit c5d43af704

View File

@@ -758,7 +758,7 @@ def machine_info_can_run(machine_info: MachineInfo) -> bool:
system = detect_system()
if machine_info.system != system:
return False
if machine_info.subsystem != detect_subsystem(system):
if machine_info.subsystem and machine_info.subsystem != detect_subsystem(system):
return False
true_build_cpu_family = detect_cpu_family({})
assert machine_info.cpu_family is not None, 'called on incomplete machine_info'