On 01/06/2016 20:18, Suravee Suthikulpanit wrote: >>> >>> + svm->avic_is_running = is_run; > > Shouldn't we do this below ---> >>> >>> /* ID = 0xff (broadcast), ID > 0xff (reserved) */ >>> - if (h_physical_id >= AVIC_MAX_PHYSICAL_ID_COUNT) >>> - return -EINVAL; >>> + if (WARN_ON(h_physical_id >= AVIC_MAX_PHYSICAL_ID_COUNT)) >>> + return; > > <--- HERE It doesn't really matter because these physical APIC IDs are not reachable anyway so they don't have the IS_RUNNING field. The avic_is_running field is only used in avic_vcpu_load, and again only when h_physical_id is in range. I left the assignment before the warning so that avic_vcpu_load does the right thing after a (hypothetical) migration from an out-of-range physical CPU to an in-range physical CPU. Paolo -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html