Skip to content

Commit 8821c8e

Browse files
gautshenrafaeljw
authored andcommitted
ACPI: CPPC: Perform fast check switch only for online CPUs
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>
1 parent 6dd3b8a commit 8821c8e

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

drivers/acpi/cppc_acpi.c

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

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

0 commit comments

Comments
 (0)