Re: [PATCH 1/12] cpufreq: governor: Close dbs_data update race condition

From: Viresh Kumar
Date: Thu Feb 18 2016 - 21:27:42 EST


On 18-02-16, 17:20, Rafael J. Wysocki wrote:
> On Thu, Feb 18, 2016 at 6:24 AM, Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote:
> > On 18-02-16, 02:19, Rafael J. Wysocki wrote:

> >> @@ -112,7 +112,7 @@ static ssize_t governor_store(struct kob
> >>
> >> mutex_lock(&dbs_data->mutex);
> >>
> >> - if (gattr->store)
> >> + if (dbs_data->usage_count && gattr->store)
> >
> > That's not gonna be enough. The above lock doesn't guarantee
> > protection with any such races.

Oops, I completely misread it. Really sorry about that.

But now that I have read the code again, I wonder why we need this protection at
all. The first thing we do after decrementing the usage_count counter, is we put
the kobject. Which will ensure that the sysfs files are all gone. So, what is
the race we are trying to fix then?

> Yeah, they are quite useless. But not in this patch.

Sure.

--
viresh