Skip to contentSkip to conversation

acpi-cpufreq: Read buffer overflow?

PATCH In review Roel Kluin 2 participants 2 messages Aug 7, 2009

lore
Share & tools
lore

Roel Kluin

author
#0 lore raw

PATCH 1/1 acpi-cpufreq: Read buffer overflow?

If `data->acpi_data.state_count' is 0, we read from data->acpi_data.states[-1].

---
Unsure whether this can happen.

arch/ia64/kernel/cpufreq/acpi-cpufreq.c +1 -1
index 7b43545..7cdd1f6 100644
@@ -95,7 +95,7 @@ extract_clock (
 		if (value = data->acpi_data.states[i].status)
 			return data->acpi_data.states[i].core_frequency;
 	}
-	return data->acpi_data.states[i-1].core_frequency;
+	return i ? data->acpi_data.states[i-1].core_frequency : 0;
 }
 
 
#1 lore raw
Quoted 13 lines

If `data->acpi_data.state_count' is 0, we read from data-

Quoted 1 line

acpi_data.states[-1].

---
Unsure whether this can happen.

arch/ia64/kernel/cpufreq/acpi-cpufreq.c +0 -0
index 7b43545..7cdd1f6 100644

arch/ia64/kernel/cpufreq/acpi-cpufreq.c extract_clock ( · line 101

Quoted 8 lines
arch/ia64/kernel/cpufreq/acpi-cpufreq.c +1 -1
@@ -95,7 +95,7 @@ extract_clock (
 		if (value = data->acpi_data.states[i].status)
 			return data->acpi_data.states[i].core_frequency;
 	}
-	return data->acpi_data.states[i-1].core_frequency;
+	return i ? data->acpi_data.states[i-1].core_frequency : 0;
 }
 
 

If state_count<=1, cpufreq driver initialization acpi_cpufreq_cpu_init will fail since there is no P-states to switch to. Other cpufreq functions won't be called if initialization fails. So it's unnecessary to do sanity check for state_count in here again or in other related functions.

Thanks.

-Fenghua