Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 65d21518 authored by Srinivasarao Pathipati's avatar Srinivasarao Pathipati
Browse files

cpufreq: schedutil: Fix UAF issue



sugov_tunables are getting deleted with kobject release() in
'commit 67c98e02 ("cpufreq: schedutil: Use kobject release()
method to free sugov_tunables")'. So save tunables before freeing.

Change-Id: I9df2604210cb071bb907a39cf7fcc1131e4de5f8
Signed-off-by: default avatarSrinivasarao Pathipati <quic_c_spathi@quicinc.com>
parent 17edd981
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -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);