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.
https://git.kernel.org/stable/c/e871549f7894ad4114b3dd53f241aa25a268ba8b
https://git.kernel.org/stable/c/c32a1fbe0f9a48453a552bb315cc4f1e7a74084e
https://git.kernel.org/stable/c/6996e954ae830f5b793ba6cf449885ca519dbdd2
https://git.kernel.org/stable/c/29cd94e678fcb3c4fd0f359deeac6d61334323fc
https://git.kernel.org/stable/c/13c6da02e767152c9ac4330962247a5e47011035