rpms/kernel/F-8 linux-2.6-highres-timers-fix-hang.patch, NONE, 1.1 kernel.spec, 1.292, 1.293

Chuck Ebbert (cebbert) fedora-extras-commits at redhat.com
Fri Dec 7 18:52:17 UTC 2007


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv26059

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-highres-timers-fix-hang.patch 
Log Message:
* Thu Dec 06 2007 Chuck Ebbert <cebbert at redhat.com> 2.6.23.9-84
- highres-timers: fix possible hang


linux-2.6-highres-timers-fix-hang.patch:

--- NEW FILE linux-2.6-highres-timers-fix-hang.patch ---
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c
index 22a2514..e65dd0b 100644
--- a/kernel/hrtimer.c
+++ b/kernel/hrtimer.c
@@ -850,6 +850,14 @@ hrtimer_start(struct hrtimer *timer, ktime_t tim, const enum hrtimer_mode mode)
 #ifdef CONFIG_TIME_LOW_RES
 		tim = ktime_add(tim, base->resolution);
 #endif
+		/*
+		 * Careful here: User space might have asked for a
+		 * very long sleep, so the add above might result in a
+		 * negative number, which enqueues the timer in front
+		 * of the queue.
+		 */
+		if (tim.tv64 < 0)
+			tim.tv64 = KTIME_MAX;
 	}
 	timer->expires = tim;
 


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/kernel.spec,v
retrieving revision 1.292
retrieving revision 1.293
diff -u -r1.292 -r1.293
--- kernel.spec	7 Dec 2007 18:34:32 -0000	1.292
+++ kernel.spec	7 Dec 2007 18:51:43 -0000	1.293
@@ -564,7 +564,8 @@
 # revert upstream changes we get from elsewhere
 Patch05: linux-2.6-upstream-reverts.patch
 
-Patch19: linux-2.6-highres-timers.patch
+Patch10: linux-2.6-highres-timers.patch
+Patch11: linux-2.6-highres-timers-fix-hang.patch
 
 Patch21: linux-2.6-utrace-tracehook.patch
 Patch22: linux-2.6-utrace-tracehook-ia64.patch
@@ -1055,6 +1056,8 @@
 
 # patch-2.6.23-hrt3.patch
 ApplyPatch linux-2.6-highres-timers.patch
+# fix possible hang
+ApplyPatch linux-2.6-highres-timers-fix-hang.patch
 
 # Roland's utrace ptrace replacement.
 # Main patch includes i386, x86_64, powerpc.
@@ -2008,6 +2011,9 @@
 
 
 %changelog
+* Thu Dec 06 2007 Chuck Ebbert <cebbert at redhat.com> 2.6.23.9-84
+- highres-timers: fix possible hang
+
 * Thu Dec 06 2007 Chuck Ebbert <cebbert at redhat.com> 2.6.23.9-82
 - libata: fix AHCI controller reset (#411171)
 - ACPI: don't init EC early if it has no _INI method (#334781)




More information about the fedora-extras-commits mailing list