Fix uninitialized local variable "covered" in i386 acpi-cpufreq driver
The local variable "covered" is used without initialization in i386 acpi-cpufreq driver. The initial value of covered should be 0. The bug will cause memory leak when hit. The following patch fixes this bug. Signed-off-by: Fenghua Yu <fenghua.yu@intel.com> Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
7f8e00f2b9
commit
45c876bf12
|
@ -511,7 +511,6 @@ acpi_cpufreq_guess_freq(struct acpi_cpufreq_data *data, unsigned int cpu)
|
|||
static int acpi_cpufreq_early_init(void)
|
||||
{
|
||||
struct acpi_processor_performance *data;
|
||||
cpumask_t covered;
|
||||
unsigned int i, j;
|
||||
|
||||
dprintk("acpi_cpufreq_early_init\n");
|
||||
|
@ -520,14 +519,13 @@ static int acpi_cpufreq_early_init(void)
|
|||
data = kzalloc(sizeof(struct acpi_processor_performance),
|
||||
GFP_KERNEL);
|
||||
if (!data) {
|
||||
for_each_cpu_mask(j, covered) {
|
||||
for_each_possible_cpu(j) {
|
||||
kfree(acpi_perf_data[j]);
|
||||
acpi_perf_data[j] = NULL;
|
||||
}
|
||||
return -ENOMEM;
|
||||
}
|
||||
acpi_perf_data[i] = data;
|
||||
cpu_set(i, covered);
|
||||
}
|
||||
|
||||
/* Do initialization in ACPI core */
|
||||
|
|
Loading…
Reference in New Issue