kvm_arm_set_cpu_features_from_host() treats dtb_compatible as the host feature cache valid bit, but kvm_arm_get_host_cpu_features() set it before later register reads could fail. Set target and dtb_compatible only after the feature data is complete. Signed-off-by: Akihiko Odaki --- This fixes a semantic issue I found while writing the next version of [1]. I am not aware of any case where it manifests as a real bug. [1] http://lore.kernel.org/qemu-devel/20260225-kvm-v2-1-b8d743db0f73@rsg.ci.i.u-tokyo.ac.jp/ ("[PATCH RFC v2] target/arm/kvm: Choose PMU backend") --- target/arm/kvm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/arm/kvm.c b/target/arm/kvm.c index d4a68874b880..03c3346d50ed 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -329,8 +329,6 @@ static bool kvm_arm_get_host_cpu_features(ARMHostCPUFeatures *ahcf) return false; } - ahcf->target = init.target; - ahcf->dtb_compatible = "arm,armv8"; int fd = fdarray[2]; err = get_host_cpu_reg(fd, ahcf, ID_AA64PFR0_EL1_IDX); @@ -472,6 +470,8 @@ static bool kvm_arm_get_host_cpu_features(ARMHostCPUFeatures *ahcf) } ahcf->features = features; + ahcf->target = init.target; + ahcf->dtb_compatible = "arm,armv8"; return true; } --- base-commit: 98b060da3a4f92b2a994ead5b16a87e783baf77c change-id: 20260422-arm-84b23dad0561 Best regards, -- Akihiko Odaki