Description
In the Linux kernel, the following vulnerability has been resolved: efi: Allocate runtime workqueue before ACPI init Since commit 5894cf571e14 ("acpi/prmt: Use EFI runtime sandbox to invoke PRM handlers") ACPI PRM calls are delegated to a workqueue which runs in a kernel thread, making it easier to detect and mitigate faulting memory accesses performed by the firmware. Rafael reports that such PRM accesses may occur before efisubsys_init() executes, which is where the workqueue is allocated, leading to NULL pointer dereferences. Since acpi_init() [which triggers the early PRM accesses] executes as a subsys_initcall() as well, and has its own dependencies that may be sensitive to initcall ordering, deferring acpi_init() is not an option. So instead, split off the workqueue allocation into its own postcore initcall, as this is the only missing piece to allow EFI runtime calls to be made. This ensures that EFI runtime call (including PRM calls) are accessible to all code running at subsys_initcall() level.
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
5894cf571e14fb393a4d0a82538de032127b9d8b to < 29cd94e678fcb3c4fd0f359deeac6d61334323fcaffected5894cf571e14fb393a4d0a82538de032127b9d8b to < 6996e954ae830f5b793ba6cf449885ca519dbdd2affected5894cf571e14fb393a4d0a82538de032127b9d8b to < c32a1fbe0f9a48453a552bb315cc4f1e7a74084eaffected5894cf571e14fb393a4d0a82538de032127b9d8b to < e871549f7894ad4114b3dd53f241aa25a268ba8baffected5894cf571e14fb393a4d0a82538de032127b9d8b to < 13c6da02e767152c9ac4330962247a5e47011035affected
Linux Linux
Default version status: affected
6.6affected0 to < 6.6unaffected6.6.142 to ≤ 6.6.*unaffected6.12.92 to ≤ 6.12.*unaffected6.18.34 to ≤ 6.18.*unaffected7.0.11 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/29cd94e678fcb3c4fd0f359deeac6d61334323fc ↗
- https://git.kernel.org/stable/c/6996e954ae830f5b793ba6cf449885ca519dbdd2 ↗
- https://git.kernel.org/stable/c/c32a1fbe0f9a48453a552bb315cc4f1e7a74084e ↗
- https://git.kernel.org/stable/c/e871549f7894ad4114b3dd53f241aa25a268ba8b ↗
- https://git.kernel.org/stable/c/13c6da02e767152c9ac4330962247a5e47011035 ↗