Re: [PATCH Resend] cpufreq: Set cpufreq_cpu_data to NULL before putting kobject

ethan zhao
2015-02-02T04:06:22Z

On 2015/2/2 11:59, Viresh Kumar wrote:
> On 2 February 2015 at 09:26, ethan zhao <ethan.zhao@oracle.com> wrote:
>> How to prevent the policy to be freed between
>>
>> cpufreq_cpu_get() and cpufreq_cpu_put() ?
> kobject_get() increases the reference count of a policy and the policy
> will only be freed when this is zero. And it will only be zero once all
> cpufreq_cpu_get() are matched with corresponding cpufreq_cpu_put().
Is that an idea it supposed to be or fact ?

if (!cpufreq_suspended)
cpufreq_policy_free(policy);

static void cpufreq_policy_free(struct cpufreq_policy *policy)
{
free_cpumask_var(policy->related_cpus);
free_cpumask_var(policy->cpus);
kfree(policy);
}

It seems you just think about it ideally in mind.

Thanks,
Ethan
>
>> You are maxing up the water with sand ?
> :)