cpufreq: schedutil: Fix UAF issue
sugov_tunables are getting deleted with kobject release() in
'commit 67c98e0231
("cpufreq: schedutil: Use kobject release()
method to free sugov_tunables")'. So save tunables before freeing.
Change-Id: I9df2604210cb071bb907a39cf7fcc1131e4de5f8
Signed-off-by: Srinivasarao Pathipati <quic_c_spathi@quicinc.com>
This commit is contained in:
parent
17edd981ce
commit
65d21518f8
@ -1296,12 +1296,14 @@ static void sugov_exit(struct cpufreq_policy *policy)
|
||||
|
||||
mutex_lock(&global_tunables_lock);
|
||||
|
||||
/* Save tunables before last owner release it in gov_attr_set_put() */
|
||||
if (tunables->attr_set.usage_count == 1)
|
||||
sugov_tunables_save(policy, tunables);
|
||||
|
||||
count = gov_attr_set_put(&tunables->attr_set, &sg_policy->tunables_hook);
|
||||
policy->governor_data = NULL;
|
||||
if (!count) {
|
||||
sugov_tunables_save(policy, tunables);
|
||||
if (!count)
|
||||
sugov_clear_global_tunables();
|
||||
}
|
||||
|
||||
mutex_unlock(&global_tunables_lock);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user