Re: [PATCH 4.4 092/134] cpufreq: Fix governor module removal race

From: Greg Kroah-Hartman
Date: Fri Apr 06 2018 - 03:07:35 EST


On Sun, Apr 01, 2018 at 09:56:41PM +0100, Ben Hutchings wrote:
> On Mon, 2018-03-19 at 19:06 +0100, Greg Kroah-Hartman wrote:
> > 4.4-stable review patch.  If anyone has any objections, please let me know.
> >
> > ------------------
> >
> > From: "Rafael J. Wysocki" <rafael.j.wysocki@xxxxxxxxx>
> >
> >
> > [ Upstream commit a8b149d32b663c1a4105273295184b78f53d33cf ]
> [...]
> > --- a/drivers/cpufreq/cpufreq.c
> > +++ b/drivers/cpufreq/cpufreq.c
> > @@ -551,6 +551,8 @@ static int cpufreq_parse_governor(char *
> >   *governor = t;
> >   err = 0;
> >   }
> > + if (t && !try_module_get(t->owner))
> > + t = NULL;
>
> This won't work because t is dead after this point.  The fix appears to
> depend on:
>
> commit 045149e6a22119e5bf0d16a0b24a4173a2abb71d
> Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> Date: Thu Nov 23 01:23:16 2017 +0100
>
> cpufreq: Clean up cpufreq_parse_governor()
>
> which moves the assignment to *governor further down.

Ick, this also didn't make it into 4.9.y so I'm just reverting it from
everywhere.

thanks for the review!

greg k-h