diff options
| author | Christian Loehle <christian.loehle@arm.com> | 2026-07-22 10:38:25 +0100 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2026-07-22 15:09:14 +0200 |
| commit | 9753c0ab89b7516aba4884dc3cc725ca33c2e3da (patch) | |
| tree | 82cdaa975c30e31af3d200151005078d878bda11 /tools/perf/scripts/python/bin/export-to-postgresql-record | |
| parent | 11055a46f398779b69aa36afb7c9f4124529a075 (diff) | |
cpufreq: cppc: Sanitize lockless policy limit snapshots
cppc_cpufreq_update_perf_limits() reads policy->min and policy->max
without holding the policy lock. The cpufreq core updates those fields
with separate stores, so a reader can observe the old minimum together
with the new maximum and construct MIN_PERF greater than MAX_PERF.
Read both fields once and, if the lockless snapshot is inconsistent,
reduce the minimum to the observed maximum. This matches the conservative
correction used by cpufreq_driver_resolve_freq() and ensures that CPPC
never receives an inverted limit pair.
Fixes: ea3db45ae476 ("cpufreq: cppc: Update MIN_PERF/MAX_PERF in target callbacks")
Cc: stable@vger.kernel.org
Signed-off-by: Christian Loehle <christian.loehle@arm.com>
Link: https://patch.msgid.link/20260722093825.1030594-3-christian.loehle@arm.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'tools/perf/scripts/python/bin/export-to-postgresql-record')
0 files changed, 0 insertions, 0 deletions
