drivers: cpufreq: checks to avoid kernel crash in cpufreq_interactive

In cpufreq_governor_interactive, driver throws warning with WARN_ON
for !tunables and event != CPUFREQ_GOV_POLICY_INIT.
In case when tunables is NULL for event other than
CPUFREQ_GOV_POLICY_INIT, kernel will crash as there is no safe check
available before accessing tunables. So to handle such case and avoid
the kernel crash, return -EINVAL if WARN_ON returns TRUE.

Change-Id: I7a3a22d58e3c8a315a1cc1d31143649dc8807dee
Signed-off-by: gaurav jindal <gauravjindal1104@gmail.com>
This commit is contained in:
gaurav jindal 2017-09-08 00:07:43 +05:30 committed by Amit Pundir
parent a717381007
commit 5758aee505

View File

@ -1148,7 +1148,8 @@ static int cpufreq_governor_interactive(struct cpufreq_policy *policy,
else
tunables = common_tunables;
WARN_ON(!tunables && (event != CPUFREQ_GOV_POLICY_INIT));
if (WARN_ON(!tunables && (event != CPUFREQ_GOV_POLICY_INIT)))
return -EINVAL;
switch (event) {
case CPUFREQ_GOV_POLICY_INIT: