Explorar o código

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>
Fenghua Yu %!s(int64=18) %!d(string=hai) anos
pai
achega
45c876bf12
Modificáronse 1 ficheiros con 1 adicións e 3 borrados
  1. 1 3
      arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c

+ 1 - 3
arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c

@@ -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 */