Skip to content

Commit 1dd6c64

Browse files
committed
ACPI: CPPC: Perform fast check switch only for online CPUs
JIRA: https://issues.redhat.com/browse/RHEL-114091 commit 8821c8e Author: Gautham R. Shenoy <gautham.shenoy@amd.com> Date: Fri Nov 7 13:11:43 2025 +0530 per_cpu(cpc_desc_ptr, cpu) object is initialized for only the online CPUs via acpi_soft_cpu_online() --> __acpi_processor_start() --> acpi_cppc_processor_probe(). However the function cppc_allow_fast_switch() checks for the validity of the _CPC object for all the present CPUs. This breaks when the kernel is booted with "nosmt=force". Check fast_switch capability only on online CPUs Fixes: 15eece6 ("ACPI: CPPC: Fix NULL pointer dereference when nosmp is used") Reviewed-by: "Mario Limonciello (AMD) (kernel.org)" <superm1@kernel.org> Signed-off-by: Gautham R. Shenoy <gautham.shenoy@amd.com> Link: https://patch.msgid.link/20251107074145.2340-4-gautham.shenoy@amd.com Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Mark Langsdorf <mlangsdo@redhat.com>
1 parent 0a3956c commit 1dd6c64

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/acpi/cppc_acpi.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -477,7 +477,7 @@ bool cppc_allow_fast_switch(void)
477477
struct cpc_desc *cpc_ptr;
478478
int cpu;
479479

480-
for_each_present_cpu(cpu) {
480+
for_each_online_cpu(cpu) {
481481
cpc_ptr = per_cpu(cpc_desc_ptr, cpu);
482482
desired_reg = &cpc_ptr->cpc_regs[DESIRED_PERF];
483483
if (!CPC_IN_SYSTEM_MEMORY(desired_reg) &&

0 commit comments

Comments
 (0)