Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
a36a7fecfe6071732075ad5aa31196adce13181b to < 8ca5dfe4249bbb6bd34f37d16c2ea933c31f6a2aaffecteda36a7fecfe6071732075ad5aa31196adce13181b to < c17fe25dcb55ab94f6aa2930b7504ea666d5fcc2affecteda36a7fecfe6071732075ad5aa31196adce13181b to < 10f675902a5fc88ccfe34bb8aa37de50806b03b1affecteda36a7fecfe6071732075ad5aa31196adce13181b to < 5b6165d7ec38477e8cfa41bfa464959957953822affecteda36a7fecfe6071732075ad5aa31196adce13181b to < 8bbe4dd7964552f74c271c3a8d95a4331a8ab5f9affecteda36a7fecfe6071732075ad5aa31196adce13181b to < 956ca5d72c76504824c8eb601879da9476973e15affected
Linux Linux
Default version status: affected
4.8affected0 to < 4.8unaffected6.1.191 to ≤ 6.1.*unaffected6.6.160 to ≤ 6.6.*unaffected6.12.97 to ≤ 6.12.*unaffected6.18.40 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/8ca5dfe4249bbb6bd34f37d16c2ea933c31f6a2a ↗
- https://git.kernel.org/stable/c/c17fe25dcb55ab94f6aa2930b7504ea666d5fcc2 ↗
- https://git.kernel.org/stable/c/10f675902a5fc88ccfe34bb8aa37de50806b03b1 ↗
- https://git.kernel.org/stable/c/5b6165d7ec38477e8cfa41bfa464959957953822 ↗
- https://git.kernel.org/stable/c/8bbe4dd7964552f74c271c3a8d95a4331a8ab5f9 ↗
- https://git.kernel.org/stable/c/956ca5d72c76504824c8eb601879da9476973e15 ↗