Fix ACPI issue preventing boot on AMI firmware (rhbz 1090746)
This commit is contained in:
parent
1003f8c870
commit
f9bc831cd3
@ -0,0 +1,67 @@
|
||||
Bugzilla: 1090746
|
||||
Upstream-status: Queued for 3.15 and CC'd to stable
|
||||
|
||||
From 2bb09843fc720389082ce7834b2716254bdf6c2d Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <2bb09843fc720389082ce7834b2716254bdf6c2d.1397794898.git.lv.zheng@intel.com>
|
||||
From: Lv Zheng <lv.zheng@intel.com>
|
||||
Date: Fri, 18 Apr 2014 12:21:34 +0800
|
||||
Subject: [PATCH] ACPICA: Tables: Fix a bad pointer issue in
|
||||
acpi_tb_parse_root_table().
|
||||
|
||||
The following is a linuxizing generation of the ACPICA commit to back ports
|
||||
Linux XSDT validation mechanism to ACPICA:
|
||||
Commit: 671cc68dc61f029d44b43a681356078e02d8dab8
|
||||
Subject: ACPICA: Back port and refine validation of the XSDT root table.
|
||||
It triggers a regression that a pointer is still used after unmapping.
|
||||
|
||||
This patch fixes this issue. Lv Zheng.
|
||||
|
||||
Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=73911
|
||||
Buglink: https://bugs.archlinux.org/task/39811
|
||||
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
|
||||
Reported-and-tested-by: Bruce Chiarelli <mano155@gmail.com>
|
||||
Reported-and-tested-by: Spyros Stathopoulos <spystath@gmail.com>
|
||||
Cc: <stable@vger.kernel.org> # 3.14.x: 671cc68: ACPICA: Back port and refine validation of the XSDT root table.
|
||||
---
|
||||
drivers/acpi/acpica/tbutils.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/acpi/acpica/tbutils.c b/drivers/acpi/acpica/tbutils.c
|
||||
index 6412d3c..7285871 100644
|
||||
--- a/drivers/acpi/acpica/tbutils.c
|
||||
+++ b/drivers/acpi/acpica/tbutils.c
|
||||
@@ -461,6 +461,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address)
|
||||
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,13 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address)
|
||||
* 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 +518,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address)
|
||||
|
||||
/* Fall back to the RSDT */
|
||||
|
||||
- address =
|
||||
- (acpi_physical_address) rsdp->rsdt_physical_address;
|
||||
+ address = rsdt_address;
|
||||
table_entry_size = ACPI_RSDT_ENTRY_SIZE;
|
||||
}
|
||||
}
|
||||
--
|
||||
1.7.10
|
||||
|
@ -641,6 +641,9 @@ Patch25064: 0001-HID-rmi-do-not-handle-touchscreens-through-hid-rmi.patch
|
||||
#rhbz 1089689
|
||||
Patch25065: 0001-synaptics-Add-min-max-quirk-for-ThinkPad-Edge-E431.patch
|
||||
|
||||
#rhbz 1090746
|
||||
Patch25067: ACPICA-Tables-Fix-bad-pointer-issue-in-acpi_tb_parse_root_table.patch
|
||||
|
||||
# END OF PATCH DEFINITIONS
|
||||
|
||||
%endif
|
||||
@ -1290,6 +1293,9 @@ ApplyPatch disable-libdw-unwind-on-non-x86.patch
|
||||
#rhbz 1089689
|
||||
ApplyPatch 0001-synaptics-Add-min-max-quirk-for-ThinkPad-Edge-E431.patch
|
||||
|
||||
#rhbz 1090746
|
||||
ApplyPatch ACPICA-Tables-Fix-bad-pointer-issue-in-acpi_tb_parse_root_table.patch
|
||||
|
||||
# END OF PATCH APPLICATIONS
|
||||
|
||||
%endif
|
||||
@ -2069,6 +2075,9 @@ fi
|
||||
# ||----w |
|
||||
# || ||
|
||||
%changelog
|
||||
* Fri Apr 25 2014 Josh Boyer <jwboyer@fedoraproject.org>
|
||||
- Fix ACPI issue preventing boot on AMI firmware (rhbz 1090746)
|
||||
|
||||
* Fri Apr 25 2014 Hans de Goede <hdegoede@redhat.com>
|
||||
- Add synaptics min-max quirk for ThinkPad Edge E431 (rhbz#1089689)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user