Activity log
- Created & dismissed (max. allowed matches exceeded) suggestion
ACPI: processor_idle: Mark LPI enter functions as __cpuidle
In the Linux kernel, the following vulnerability has been resolved: ACPI: processor_idle: Mark LPI enter functions as __cpuidle When function tracing or Kprobes is enabled, entering an ACPI Low Power Idle (LPI) state triggers the following RCU splat: RCU not on for: acpi_idle_lpi_enter+0x4/0xd8 WARNING: CPU: 8 PID: 0 at include/linux/trace_recursion.h:162 function_trace_call+0x1e8/0x228 The acpi_idle_lpi_enter() function is invoked within the cpuidle path after RCU has already been disabled for the current local CPU. Consequently, ftrace's function_trace_call() expects RCU to be actively watching before recording trace data, emitting a warning if it is not. Fix this by annotating acpi_idle_lpi_enter(), the generic __weak stub, and the RISC-V implementation of acpi_processor_ffh_lpi_enter() with __cpuidle. This moves these functions into the '.cpuidle.text' section, implicitly disabling ftrace instrumentation (notrace) along this sensitive path and preventing trace-induced RCU warnings during idle entry.
References
Affected products
- <10f675902a5fc88ccfe34bb8aa37de50806b03b1
- <5b6165d7ec38477e8cfa41bfa464959957953822
- ==4.8
- =<6.18.*
- <4.8
- =<6.12.*
- =<7.1.*
- <8bbe4dd7964552f74c271c3a8d95a4331a8ab5f9
- =<*
- <956ca5d72c76504824c8eb601879da9476973e15