Messages in this thread | | | Date | Tue, 12 Jan 2016 16:09:56 +0530 | From | Viresh Kumar <> | Subject | Re: [RFC PATCH 12/19] cpufreq: fix locking of policy->rwsem in cpufreq_init_policy |
| |
On 11-01-16, 17:35, Juri Lelli wrote: > There are paths in cpufreq_init_policy where policy is used, but its rwsem > is not held. > > Fix it. > > Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net> > Cc: Viresh Kumar <viresh.kumar@linaro.org> > Signed-off-by: Juri Lelli <juri.lelli@arm.com> > --- > drivers/cpufreq/cpufreq.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c > index e7fc5c9..2c7cc6c73 100644 > --- a/drivers/cpufreq/cpufreq.c > +++ b/drivers/cpufreq/cpufreq.c > @@ -998,21 +998,24 @@ static int cpufreq_add_policy_cpu(struct cpufreq_policy *policy, unsigned int cp > { > int ret = 0; > > + down_write(&policy->rwsem); > + > /* Has this CPU been taken care of already? */ > - if (cpumask_test_cpu(cpu, policy->cpus)) > + if (cpumask_test_cpu(cpu, policy->cpus)) { > + up_write(&policy->rwsem);
Perhaps create a label at the end to unlock the rwsem and jump to it?
-- viresh
| |