rpms/kernel/devel linux-2.6-x86-acpi-fix-resume-on-64-bit-UP-systems.patch, NONE, 1.1 TODO, 1.23, 1.24 kernel.spec, 1.1061, 1.1062
Chuck Ebbert
cebbert at fedoraproject.org
Sat Oct 18 01:11:00 UTC 2008
Author: cebbert
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv22784
Modified Files:
TODO kernel.spec
Added Files:
linux-2.6-x86-acpi-fix-resume-on-64-bit-UP-systems.patch
Log Message:
Fix resume on x86_64 UP systems with SMP kernel.
linux-2.6-x86-acpi-fix-resume-on-64-bit-UP-systems.patch:
--- NEW FILE linux-2.6-x86-acpi-fix-resume-on-64-bit-UP-systems.patch ---
From: Rafael J. Wysocki <rjw at sisk.pl>
Date: Thu, 16 Oct 2008 23:26:27 +0000 (+0200)
Subject: x86 ACPI: fix breakage of resume on 64-bit UP systems with SMP kernel
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fx86%2Flinux-2.6-tip.git;a=commitdiff_plain;h=3038edabf48f01421c621cb77a712b446d3a5d67;hp=73bdf0a60e607f4b8ecc5aec597105976565a84f
x86 ACPI: fix breakage of resume on 64-bit UP systems with SMP kernel
x86 ACPI: Fix breakage of resume on 64-bit UP systems with SMP kernel
We are now using per CPU GDT tables in head_64.S and the original
early_gdt_descr.address is invalidated after boot by
setup_per_cpu_areas(). This breaks resume from suspend to RAM on
x86_64 UP systems using SMP kernels, because this part of head_64.S
is also executed during the resume and the invalid GDT address
causes the system to crash. It doesn't break on 'true' SMP systems,
because early_gdt_descr.address is modified every time
native_cpu_up() runs. However, during resume it should point to the
GDT of the boot CPU rather than to another CPU's GDT.
For this reason, during suspend to RAM always make
early_gdt_descr.address point to the boot CPU's GDT.
This fixes http://bugzilla.kernel.org/show_bug.cgi?id=11568, which
is a regression from 2.6.26.
Signed-off-by: Rafael J. Wysocki <rjw at sisk.pl>
Acked-by: Pavel Machek <pavel at suse.cz>
Cc: <stable at kernel.org>
Signed-off-by: Ingo Molnar <mingo at elte.hu>
Reported-and-tested-by: Andy Wettstein <ajw1980 at gmail.com>
---
diff --git a/arch/x86/kernel/acpi/sleep.c b/arch/x86/kernel/acpi/sleep.c
index 426e5d9..c44cd6d 100644
--- a/arch/x86/kernel/acpi/sleep.c
+++ b/arch/x86/kernel/acpi/sleep.c
@@ -10,6 +10,7 @@
#include <linux/dmi.h>
#include <linux/cpumask.h>
#include <asm/segment.h>
+#include <asm/desc.h>
#include "realmode/wakeup.h"
#include "sleep.h"
@@ -98,6 +99,8 @@ int acpi_save_state_mem(void)
header->trampoline_segment = setup_trampoline() >> 4;
#ifdef CONFIG_SMP
stack_start.sp = temp_stack + 4096;
+ early_gdt_descr.address =
+ (unsigned long)get_cpu_gdt_table(smp_processor_id());
#endif
initial_code = (unsigned long)wakeup_long64;
saved_magic = 0x123456789abcdef0;
Index: TODO
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/TODO,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- TODO 17 Oct 2008 13:48:50 -0000 1.23
+++ TODO 18 Oct 2008 01:10:29 -0000 1.24
@@ -156,7 +156,7 @@
released) upstream.
linux-2.6-x86-avoid-dereferencing-beyond-stack-THREAD_SIZE.patch
- from Ingo's x86/urgent tree, should have been in 2.6.27
+ In mainline and 2.6.26-stable queue but not 2.6.27-stable.
linux-2.6.27-xfs-remount-fix.patch
Root remount problem fix, now upstream, sent for -stable
@@ -168,3 +168,10 @@
linux-2.6.27-sony-laptop-suspend-fix.patch
Submitted: http://marc.info/?l=linux-kernel&m=122419261829835&w=2
+
+linux-2.6-x86-acpi-fix-resume-on-64-bit-UP-systems.patch
+ In x86/urgent, already requested for mainline and -stable
+
+linux-2.6.27-drm-i915-fix-ioctl-security.patch
+ Upstream (4b40893918203ee1a1f6a114316c2a19c072e9bd)
+ Fixes CVE-2008-3831, queued for 2.6.2[567]-stable
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1061
retrieving revision 1.1062
diff -u -r1.1061 -r1.1062
--- kernel.spec 17 Oct 2008 17:44:39 -0000 1.1061
+++ kernel.spec 18 Oct 2008 01:10:29 -0000 1.1062
@@ -584,6 +584,7 @@
Patch41: linux-2.6-sysrq-c.patch
Patch44: linux-2.6-x86-avoid-dereferencing-beyond-stack-THREAD_SIZE.patch
+Patch45: linux-2.6-x86-acpi-fix-resume-on-64-bit-UP-systems.patch
Patch140: linux-2.6-ps3-ehci-iso.patch
Patch141: linux-2.6-ps3-storage-alias.patch
@@ -1063,6 +1064,8 @@
# x86(-64)
# don't oops in get_wchan()
ApplyPatch linux-2.6-x86-avoid-dereferencing-beyond-stack-THREAD_SIZE.patch
+# fix resume on UP systems with SMP kernel
+ApplyPatch linux-2.6-x86-acpi-fix-resume-on-64-bit-UP-systems.patch
#
# PowerPC
@@ -1833,6 +1836,9 @@
%kernel_variant_files -k vmlinux %{with_kdump} kdump
%changelog
+* Fri Oct 17 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.27.2-26.rc1
+- Fix resume on x86_64 UP systems with SMP kernel.
+
* Fri Oct 17 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.27.2-25.rc1
- DRM: fix ioctl security issue (CVE-2008-3831).
More information about the fedora-extras-commits
mailing list