linux-stable/drivers/cpufreq
Rafael J. Wysocki c1a485c46c cpufreq: Reference count policy in cpufreq_update_limits()
commit 9e4e249018 upstream.

Since acpi_processor_notify() can be called before registering a cpufreq
driver or even in cases when a cpufreq driver is not registered at all,
cpufreq_update_limits() needs to check if a cpufreq driver is present
and prevent it from being unregistered.

For this purpose, make it call cpufreq_cpu_get() to obtain a cpufreq
policy pointer for the given CPU and reference count the corresponding
policy object, if present.

Fixes: 5a25e3f7cc ("cpufreq: intel_pstate: Driver-specific handling of _PPC updates")
Closes: https://lore.kernel.org/linux-acpi/Z-ShAR59cTow0KcR@mail-itl
Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Cc: All applicable <stable@vger.kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Link: https://patch.msgid.link/1928789.tdWV9SEqCh@rjwysocki.net
[do not use __free(cpufreq_cpu_put) in a backport]
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:48:04 +02:00
..
acpi-cpufreq.c cpufreq: ACPI: Fix max-frequency computation 2025-02-08 09:57:22 +01:00
amd_freq_sensitivity.c
amd-pstate-trace.c
amd-pstate-trace.h
amd-pstate-ut.c
amd-pstate.c cpufreq/amd-pstate: Remove the goto label in amd_pstate_update_limits 2025-02-21 14:01:46 +01:00
amd-pstate.h
apple-soc-cpufreq.c
armada-8k-cpufreq.c
armada-37xx-cpufreq.c
bmips-cpufreq.c
brcmstb-avs-cpufreq.c
cppc_cpufreq.c cpufreq: CPPC: Fix wrong return value in cppc_get_cpu_power() 2024-12-05 14:02:12 +01:00
cpufreq_conservative.c
cpufreq_governor_attr_set.c
cpufreq_governor.c cpufreq: governor: Fix negative 'idle_time' handling in dbs_update() 2025-04-10 14:39:10 +02:00
cpufreq_governor.h
cpufreq_ondemand.c
cpufreq_ondemand.h
cpufreq_performance.c
cpufreq_powersave.c
cpufreq_stats.c
cpufreq_userspace.c
cpufreq-dt-platdev.c cpufreq: fix using cpufreq-dt as module 2025-02-17 10:05:02 +01:00
cpufreq-dt.c
cpufreq-dt.h
cpufreq-nforce2.c
cpufreq.c cpufreq: Reference count policy in cpufreq_update_limits() 2025-04-25 10:48:04 +02:00
davinci-cpufreq.c
e_powersaver.c
elanfreq.c
freq_table.c
gx-suspmod.c
highbank-cpufreq.c
imx6q-cpufreq.c
imx-cpufreq-dt.c
intel_pstate.c
Kconfig cpufreq: fix using cpufreq-dt as module 2025-02-17 10:05:02 +01:00
Kconfig.arm cpufreq: tegra194: Allow building for Tegra234 2025-04-10 14:39:11 +02:00
Kconfig.powerpc
Kconfig.x86
kirkwood-cpufreq.c
longhaul.c
longhaul.h
longrun.c
loongson2_cpufreq.c cpufreq: loongson2: Unregister platform_driver on failure 2024-12-05 14:02:04 +01:00
loongson3_cpufreq.c cpufreq: loongson3: Check for error code from devm_mutex_init() call 2024-12-05 14:02:12 +01:00
Makefile
maple-cpufreq.c
mediatek-cpufreq-hw.c cpufreq: mediatek-hw: Fix wrong return value in mtk_cpufreq_get_cpu_power() 2024-12-05 14:02:51 +01:00
mediatek-cpufreq.c
mvebu-cpufreq.c
omap-cpufreq.c
p4-clockmod.c
pasemi-cpufreq.c
pcc-cpufreq.c
pmac32-cpufreq.c
pmac64-cpufreq.c
powernow-k6.c
powernow-k7.c
powernow-k7.h
powernow-k8.c
powernow-k8.h
powernv-cpufreq.c
ppc_cbe_cpufreq_pervasive.c
ppc_cbe_cpufreq_pmi.c
ppc_cbe_cpufreq.c
ppc_cbe_cpufreq.h
pxa2xx-cpufreq.c
pxa3xx-cpufreq.c
qcom-cpufreq-hw.c cpufreq: qcom: Implement clk_ops::determine_rate() for qcom_cpufreq* clocks 2025-02-08 09:57:07 +01:00
qcom-cpufreq-nvmem.c
qoriq-cpufreq.c
raspberrypi-cpufreq.c
s3c64xx-cpufreq.c cpufreq: s3c64xx: Fix compilation warning 2025-02-17 10:05:02 +01:00
s5pv210-cpufreq.c
sa1110-cpufreq.c
sc520_freq.c
scmi-cpufreq.c cpufreq: scmi: Fix cleanup path when boost enablement fails 2024-12-09 10:41:02 +01:00
scpi-cpufreq.c cpufreq: scpi: compare kHz instead of Hz 2025-04-10 14:39:10 +02:00
sh-cpufreq.c
sparc-us2e-cpufreq.c
sparc-us3-cpufreq.c
spear-cpufreq.c
speedstep-centrino.c
speedstep-ich.c
speedstep-lib.c
speedstep-lib.h
speedstep-smi.c
sti-cpufreq.c
sun50i-cpufreq-nvmem.c
tegra20-cpufreq.c
tegra124-cpufreq.c
tegra186-cpufreq.c
tegra194-cpufreq.c
ti-cpufreq.c
vexpress-spc-cpufreq.c