This is a note to let you know that I've just added the patch titled ACPICA: Tables: Fix invalid pointer accesses in acpi_tb_parse_root_table(). ACPICA: Back port and refine validation of the XSDT root table. to the 3.14-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: acpica-tables-fix-invalid-pointer-accesses-in-acpi_tb_parse_root_table.patch and it can be found in the queue-3.14 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From d48dc067450d84324067f4472dc0b169e9af4454 Mon Sep 17 00:00:00 2001 From: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Wed, 30 Apr 2014 10:05:40 +0800 Subject: ACPICA: Tables: Fix invalid pointer accesses in acpi_tb_parse_root_table(). From: Lv Zheng <lv.zheng@xxxxxxxxx> commit d48dc067450d84324067f4472dc0b169e9af4454 upstream. Linux XSDT validation mechanism backport has introduced a regreession: Commit: 671cc68dc61f029d44b43a681356078e02d8dab8 Subject: ACPICA: Back port and refine validation of the XSDT root table. There is a pointer still accessed after unmapping. This patch fixes this issue. Lv Zheng. Fixes: 671cc68dc61f (ACPICA: Back port and refine validation of the XSDT root table.) References: https://bugzilla.kernel.org/show_bug.cgi?id=73911 References: https://bugs.archlinux.org/task/39811 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Reported-and-tested-by: Bruce Chiarelli <mano155@xxxxxxxxx> Reported-and-tested-by: Spyros Stathopoulos <spystath@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/acpi/acpica/tbutils.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) --- a/drivers/acpi/acpica/tbutils.c +++ b/drivers/acpi/acpica/tbutils.c @@ -461,6 +461,7 @@ acpi_status __init acpi_tb_parse_root_ta u32 table_count; struct acpi_table_header *table; acpi_physical_address address; + acpi_physical_address rsdt_address; u32 length; u8 *table_entry; acpi_status status; @@ -488,11 +489,14 @@ acpi_status __init acpi_tb_parse_root_ta * as per the ACPI specification. */ address = (acpi_physical_address) rsdp->xsdt_physical_address; + rsdt_address = + (acpi_physical_address) rsdp->rsdt_physical_address; table_entry_size = ACPI_XSDT_ENTRY_SIZE; } else { /* Root table is an RSDT (32-bit physical addresses) */ address = (acpi_physical_address) rsdp->rsdt_physical_address; + rsdt_address = address; table_entry_size = ACPI_RSDT_ENTRY_SIZE; } @@ -515,8 +519,7 @@ acpi_status __init acpi_tb_parse_root_ta /* Fall back to the RSDT */ - address = - (acpi_physical_address) rsdp->rsdt_physical_address; + address = rsdt_address; table_entry_size = ACPI_RSDT_ENTRY_SIZE; } } Patches currently in stable-queue which might be from lv.zheng@xxxxxxxxx are queue-3.14/acpica-tables-restore-old-behavor-to-favor-32-bit-fadt-addresses.patch queue-3.14/acpica-tables-fix-invalid-pointer-accesses-in-acpi_tb_parse_root_table.patch -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html