Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'acpi-6.9-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull ACPI fixes from Rafael Wysocki:
"These fix two issues that may lead to attempts to use memory that has
been freed already.

Specifics:

- Drop __exit annotation from einj_remove() in the ACPI APEI code
because this function can be called during runtime (Arnd Bergmann)

- Make acpi_db_walk_for_fields() check acpi_evaluate_object() return
value to avoid accessing memory that has been freed (Nikita
Kiryushin)"

* tag 'acpi-6.9-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
ACPICA: debugger: check status of acpi_evaluate_object() in acpi_db_walk_for_fields()
ACPI: APEI: EINJ: mark remove callback as non-__exit

+7 -3
+6 -2
drivers/acpi/acpica/dbnames.c
··· 550 550 ACPI_FREE(buffer.pointer); 551 551 552 552 buffer.length = ACPI_ALLOCATE_LOCAL_BUFFER; 553 - acpi_evaluate_object(obj_handle, NULL, NULL, &buffer); 554 - 553 + status = acpi_evaluate_object(obj_handle, NULL, NULL, &buffer); 554 + if (ACPI_FAILURE(status)) { 555 + acpi_os_printf("Could Not evaluate object %p\n", 556 + obj_handle); 557 + return (AE_OK); 558 + } 555 559 /* 556 560 * Since this is a field unit, surround the output in braces 557 561 */
+1 -1
drivers/acpi/apei/einj-core.c
··· 851 851 return rc; 852 852 } 853 853 854 - static void __exit einj_remove(struct platform_device *pdev) 854 + static void einj_remove(struct platform_device *pdev) 855 855 { 856 856 struct apei_exec_context ctx; 857 857