On Wed, 28 Jan 2015 17:00:36 +0000
Javi Merino <[email protected]> wrote:
> + if (trace_thermal_power_cpu_limit_enabled() && load_cpu) {
> + trace_thermal_power_cpu_get_power(
> + &cpufreq_device->allowed_cpus,
> + freq, load_cpu, i, dynamic_power, static_power);
> +
> + devm_kfree(&cdev->device, load_cpu);
You may want to move the devm_kfree() out of the
trace_thermal_power_cpu_limit_enabled() check. There could be a race
where that gets disabled while this function is running and you just
leaked memory.
if (load_cpu)
devm_kfree(&cdev->device, load_cpu);
should be done by itself.
-- Steve
> + }
>
> *power = static_power + dynamic_power;
> return 0;
> @@ -664,6 +689,8 @@ static int cpufreq_power2state(struct
> thermal_cooling_device *cdev,
> return -EINVAL;
> }
>
> + trace_thermal_power_cpu_limit(&cpufreq_device->allowed_cpus,
> + target_freq, *state, power);
> return 0;
> }
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/