The address of an array slot can't be NULL. Instead add a bounds check to make sure the array indexing is valid (the check is against 2 since slot zero of the array - corresponding to C0 - is of no interest here).
Signed-off-by: Jan Beulich <[email protected]> --- a/xen/arch/x86/acpi/cpu_idle.c +++ b/xen/arch/x86/acpi/cpu_idle.c @@ -759,11 +759,11 @@ void acpi_dead_idle(void) struct acpi_processor_power *power; struct acpi_processor_cx *cx; - if ( (power = processor_powers[smp_processor_id()]) == NULL ) + if ( (power = processor_powers[smp_processor_id()]) == NULL || + power->count < 2 ) goto default_halt; - if ( (cx = &power->states[power->count-1]) == NULL ) - goto default_halt; + cx = &power->states[power->count - 1]; if ( cx->entry_method == ACPI_CSTATE_EM_FFH ) { _______________________________________________ Xen-devel mailing list [email protected] https://lists.xenproject.org/mailman/listinfo/xen-devel
