summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Boyer <jwboyer@fedoraproject.org>2014-04-25 08:12:19 -0400
committerJosh Boyer <jwboyer@fedoraproject.org>2014-04-25 08:12:19 -0400
commit508411e608d4c03dd0c40c97aba0e46b369b0983 (patch)
treec7b6c023edbb9cc9cdcd63f240fc9cfc2664cd92
parenta41e4a9198f90fd7d8f19964985159fe00f2b5aa (diff)
downloadkernel-508411e608d4c03dd0c40c97aba0e46b369b0983.tar.gz
kernel-508411e608d4c03dd0c40c97aba0e46b369b0983.tar.xz
kernel-508411e608d4c03dd0c40c97aba0e46b369b0983.zip
Fix ACPI issue preventing boot on AMI firmware (rhbz 1090746)
-rw-r--r--ACPICA-Tables-Fix-bad-pointer-issue-in-acpi_tb_parse_root_table.patch67
-rw-r--r--kernel.spec9
2 files changed, 76 insertions, 0 deletions
diff --git a/ACPICA-Tables-Fix-bad-pointer-issue-in-acpi_tb_parse_root_table.patch b/ACPICA-Tables-Fix-bad-pointer-issue-in-acpi_tb_parse_root_table.patch
new file mode 100644
index 00000000..73dfc5ae
--- /dev/null
+++ b/ACPICA-Tables-Fix-bad-pointer-issue-in-acpi_tb_parse_root_table.patch
@@ -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
+
diff --git a/kernel.spec b/kernel.spec
index 1020bbc1..147ef010 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -742,6 +742,9 @@ Patch25065: selinux-put-the-mmap-DAC-controls-before-the-MAC-controls.patch
#rhbz 1089689
Patch25066: 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
@@ -1438,6 +1441,9 @@ ApplyPatch selinux-put-the-mmap-DAC-controls-before-the-MAC-controls.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
@@ -2249,6 +2255,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)