Re: [PATCH 2/3] cpufreq: governor: Rearrange governor data structures

From: Viresh Kumar
Date: Sun Feb 07 2016 - 10:55:01 EST


On 07-02-16, 21:15, Viresh Kumar wrote:
> On 07-02-16, 16:24, Rafael J. Wysocki wrote:
> > static int cpufreq_governor_exit(struct cpufreq_policy *policy)
> > {
> > struct dbs_governor *gov = dbs_governor_of(policy);
> > - struct dbs_data *dbs_data = policy->governor_data;
> > - struct cpu_dbs_info *cdbs = gov->get_cpu_cdbs(policy->cpu);
> > + struct policy_dbs_info *policy_dbs = policy->governor_data;
> > + struct dbs_data *dbs_data = policy_dbs->dbs_data;
> >
> > /* State should be equivalent to INIT */
> > - if (!cdbs->policy_dbs || cdbs->policy_dbs->policy)
> > + if (policy_dbs->policy)
> > return -EBUSY;
>
> We can crash here if policy_dbs is NULL, which can happen if EXIT is called
> twice (due to the lock-dropping thing in cpufreq-core). So we really need to
> keep these checks for now atleast.

Well no, things have changed now a bit with your recent changes and so this
wouldn't be an issue here. Sorry for the noise.

--
viresh