CVE-2026-64183
Beschrijving NL
In de Linux kernel is de volgende kwetsbaarheid verholpen:
efi: Runtime-werkwachtrij toewijzen vóór ACPI-init
Sinds commit
5894cf571e14 ("acpi/prmt: Gebruik EFI runtime sandbox om PRM-handlers aan te roepen")
ACPI PRM-oproepen worden gedelegeerd naar een werkvoorraad die in een kernel wordt uitgevoerd
draad, waardoor het gemakkelijker is om storende geheugentoegang te detecteren en te beperken
uitgevoerd door de firmware. Rafael meldt dat dergelijke PRM-toegang kan optreden vóór efisubsys_init()
voert uit, dat is waar de werkvoorraad wordt toegewezen, wat leidt tot NULL
pointer dereferences. Sinds acpi_init() [die de vroege PRM activeert
accesses] wordt ook uitgevoerd als een subsys_initcall () en heeft zijn eigen
afhankelijkheden die gevoelig kunnen zijn voor initcall bestellen, uitstellen
acpi_init() is geen optie. Dus verdeel in plaats daarvan de toewijzing van de werkvoorraad in zijn eigen postcore
initcall, omdat dit het enige ontbrekende stuk is dat EFI-runtime-oproepen toestaat
dit zorgt ervoor dat EFI runtime call (inclusief PRM calls)
toegankelijk voor alle code die draait op subsys_initcall() niveau.
Origineel (Engels) tonen
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.