On 13/05/2018 01:40, Wanpeng Li wrote: >> - if ((msr_info->data & reserved_bits) || new_state == X2APIC_ENABLE) >> - return 1; >> - if (!msr_info->host_initiated && >> - ((new_state == MSR_IA32_APICBASE_ENABLE && >> - old_state == (MSR_IA32_APICBASE_ENABLE | X2APIC_ENABLE)) || >> - (new_state == (MSR_IA32_APICBASE_ENABLE | X2APIC_ENABLE) && >> - old_state == 0))) >> - return 1; >> + if (!msr_info->host_initiated) { >> + if ((msr_info->data & reserved_bits) != 0 || >> + new_mode == LAPIC_MODE_INVALID) >> + return 1; > This is opposite to commit d3802286fa (kvm: x86: Disallow illegal > IA32_APIC_BASE MSR values), any good reason this time? I agree, msr_info->host_initiated does not matter for the invalid check. Paolo