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)
|
static int acpi_cpufreq_early_init(void)
|
||||||
{
|
{
|
||||||
struct acpi_processor_performance *data;
|
struct acpi_processor_performance *data;
|
||||||
cpumask_t covered;
|
|
||||||
unsigned int i, j;
|
unsigned int i, j;
|
||||||
|
|
||||||
dprintk("acpi_cpufreq_early_init\n");
|
dprintk("acpi_cpufreq_early_init\n");
|
||||||
|
@ -520,14 +519,13 @@ static int acpi_cpufreq_early_init(void)
|
||||||
data = kzalloc(sizeof(struct acpi_processor_performance),
|
data = kzalloc(sizeof(struct acpi_processor_performance),
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
if (!data) {
|
if (!data) {
|
||||||
for_each_cpu_mask(j, covered) {
|
for_each_possible_cpu(j) {
|
||||||
kfree(acpi_perf_data[j]);
|
kfree(acpi_perf_data[j]);
|
||||||
acpi_perf_data[j] = NULL;
|
acpi_perf_data[j] = NULL;
|
||||||
}
|
}
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
acpi_perf_data[i] = data;
|
acpi_perf_data[i] = data;
|
||||||
cpu_set(i, covered);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Do initialization in ACPI core */
|
/* Do initialization in ACPI core */
|
||||||
|
|
Loading…
Reference in New Issue