Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

cpufreq: scpi: Fix use after free

Free the priv structure only after we are done using it.

Fixes: 1690d8bb91e370ab ("cpufreq: scpi/scmi: Fix freeing of dynamic OPPs")
Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net>
Cc: 4.20+ <stable@vger.kernel.org> # 4.20+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

authored by

Vincent Stehlé and committed by
Rafael J. Wysocki
31d4c528 92a3e426

+1 -1
+1 -1
drivers/cpufreq/scpi-cpufreq.c
··· 189 189 190 190 clk_put(priv->clk); 191 191 dev_pm_opp_free_cpufreq_table(priv->cpu_dev, &policy->freq_table); 192 - kfree(priv); 193 192 dev_pm_opp_remove_all_dynamic(priv->cpu_dev); 193 + kfree(priv); 194 194 195 195 return 0; 196 196 }