<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/kernel/hrtimer.c, branch linux-2.6.22.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.22.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.22.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2007-12-14T18:31:56Z</updated>
<entry>
<title>hrtimers: avoid overflow for large relative timeouts (CVE-2007-5966)</title>
<updated>2007-12-14T18:31:56Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2007-12-07T18:16:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3e96745119d46a80b044b72634169621fc814dde'/>
<id>urn:sha1:3e96745119d46a80b044b72634169621fc814dde</id>
<content type='text'>
patch 62f0f61e6673e67151a7c8c0f9a09c7ea43fe2b5 in mainline

Relative hrtimers with a large timeout value might end up as negative
timer values, when the current time is added in hrtimer_start().

This in turn is causing the clockevents_set_next() function to set an
huge timeout and sleep for quite a long time when we have a clock
source which is capable of long sleeps like HPET. With PIT this almost
goes unnoticed as the maximum delta is ~27ms. The non-hrt/nohz code
sorts this out in the next timer interrupt, so we never noticed that
problem which has been there since the first day of hrtimers.

This bug became more apparent in 2.6.24 which activates HPET on more
hardware.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>Add suspend-related notifications for CPU hotplug</title>
<updated>2007-05-09T19:30:56Z</updated>
<author>
<name>Rafael J. Wysocki</name>
</author>
<published>2007-05-09T09:35:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8bb7844286fb8c9fce6f65d8288aeb09d03a5e0d'/>
<id>urn:sha1:8bb7844286fb8c9fce6f65d8288aeb09d03a5e0d</id>
<content type='text'>
Since nonboot CPUs are now disabled after tasks and devices have been
frozen and the CPU hotplug infrastructure is used for this purpose, we need
special CPU hotplug notifications that will help the CPU-hotplug-aware
subsystems distinguish normal CPU hotplug events from CPU hotplug events
related to a system-wide suspend or resume operation in progress.  This
patch introduces such notifications and causes them to be used during
suspend and resume transitions.  It also changes all of the
CPU-hotplug-aware subsystems to take these notifications into consideration
(for now they are handled in the same way as the corresponding "normal"
ones).

[oleg@tv-sign.ru: cleanups]
Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Cc: Gautham R Shenoy &lt;ego@in.ibm.com&gt;
Cc: Pavel Machek &lt;pavel@ucw.cz&gt;
Signed-off-by: Oleg Nesterov &lt;oleg@tv-sign.ru&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>export hrtimer_forward</title>
<updated>2007-05-08T18:15:15Z</updated>
<author>
<name>Stas Sergeev</name>
</author>
<published>2007-05-08T07:31:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6bdb6b620e335d38ced8d5981e8f44778225c1d8'/>
<id>urn:sha1:6bdb6b620e335d38ced8d5981e8f44778225c1d8</id>
<content type='text'>
Other symbols of the hrtimers API are already exported.

Signed-off-by: Stas Sergeev &lt;stsp@aknet.ru&gt;
Acked-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[NET]: Fix networking compilation errors</title>
<updated>2007-04-27T22:31:24Z</updated>
<author>
<name>David Howells</name>
</author>
<published>2007-04-27T22:31:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b8b8fd2dc23725fba77f66b3fef11b11f983fc08'/>
<id>urn:sha1:b8b8fd2dc23725fba77f66b3fef11b11f983fc08</id>
<content type='text'>
Fix miscellaneous networking compilation errors.

 (*) Export ktime_add_ns() for modules.

 (*) wext_proc_init() should have an ANSI declaration.

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET_SCHED]: Use ktime as clocksource</title>
<updated>2007-04-26T05:26:04Z</updated>
<author>
<name>Patrick McHardy</name>
</author>
<published>2007-03-16T08:18:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=641b9e0e8b7f96425da6ce98f3361e3af0baee29'/>
<id>urn:sha1:641b9e0e8b7f96425da6ce98f3361e3af0baee29</id>
<content type='text'>
Get rid of the manual clock source selection mess and use ktime. Also
use a scalar representation, which allows to clean up pkt_sched.h a bit
more and results in less ktime_to_ns() calls in most cases.

The PSCHED_US2JIFFIE/PSCHED_JIFFIE2US macros are implemented quite
inefficient by this patch, following patches will convert all qdiscs
to hrtimers and get rid of them entirely.

Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[PATCH] high-res timers: resume fix</title>
<updated>2007-04-07T17:03:43Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2007-04-07T10:05:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=995f054f2a342f8505fed4f8395d12c0f5966414'/>
<id>urn:sha1:995f054f2a342f8505fed4f8395d12c0f5966414</id>
<content type='text'>
Soeren Sonnenburg reported that upon resume he is getting
this backtrace:

 [&lt;c0119637&gt;] smp_apic_timer_interrupt+0x57/0x90
 [&lt;c0142d30&gt;] retrigger_next_event+0x0/0xb0
 [&lt;c0104d30&gt;] apic_timer_interrupt+0x28/0x30
 [&lt;c0142d30&gt;] retrigger_next_event+0x0/0xb0
 [&lt;c0140068&gt;] __kfifo_put+0x8/0x90
 [&lt;c0130fe5&gt;] on_each_cpu+0x35/0x60
 [&lt;c0143538&gt;] clock_was_set+0x18/0x20
 [&lt;c0135cdc&gt;] timekeeping_resume+0x7c/0xa0
 [&lt;c02aabe1&gt;] __sysdev_resume+0x11/0x80
 [&lt;c02ab0c7&gt;] sysdev_resume+0x47/0x80
 [&lt;c02b0b05&gt;] device_power_up+0x5/0x10

it turns out that on resume we mistakenly re-enable interrupts too
early.  Do the timer retrigger only on the current CPU.

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Acked-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: Soeren Sonnenburg &lt;kernel@nn7.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] hrtimers: fix reprogramming SMP race</title>
<updated>2007-03-28T20:44:31Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2007-03-28T11:17:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=935c631db827cc3a96df4dcc6fec374b994fdbd1'/>
<id>urn:sha1:935c631db827cc3a96df4dcc6fec374b994fdbd1</id>
<content type='text'>
hrtimer_start() incorrectly set the 'reprogram' flag to enqueue_hrtimer(),
which should only be 1 if the hrtimer is queued to the current CPU.

Doing otherwise could result in a reprogramming of the current CPU's
clockevents device, with a timer that is not queued to it - resulting in a
bogus next expiry value.

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Michal Piotrowski &lt;michal.k.k.piotrowski@gmail.com&gt;
Acked-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] hrtimer: fix up unlocked access to wall_to_monotonic</title>
<updated>2007-03-17T02:25:05Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2007-03-16T21:38:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ad28d94abb1313bdf27e196676292c493f92f824'/>
<id>urn:sha1:ad28d94abb1313bdf27e196676292c493f92f824</id>
<content type='text'>
commit f4304ab21513b834c8fe3403927c60c2b81a72d7 (HZ free NTP) moved the
access to wall_to_monotonic in hrtimer_get_softirq_time() out of the
xtime_lock protection.

Move it back into the seq_lock section.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: John Stultz &lt;johnstul@us.ibm.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] hrtimer: prevent overrun DoS in hrtimer_forward()</title>
<updated>2007-03-17T02:25:05Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2007-03-16T21:38:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=13788ccc41ceea5893f9c747c59bc0b28f2416c2'/>
<id>urn:sha1:13788ccc41ceea5893f9c747c59bc0b28f2416c2</id>
<content type='text'>
hrtimer_forward() does not check for the possible overflow of
timer-&gt;expires.  This can happen on 64 bit machines with large interval
values and results currently in an endless loop in the softirq because the
expiry value becomes negative and therefor the timer is expired all the
time.

Check for this condition and set the expiry value to the max.  expiry time
in the future.  The fix should be applied to stable kernel series as well.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] highres: do not run the TIMER_SOFTIRQ after switching to highres mode</title>
<updated>2007-03-06T17:30:25Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2007-03-06T09:42:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f8953856eb8dd62232aee6cacb46993dc2ac4869'/>
<id>urn:sha1:f8953856eb8dd62232aee6cacb46993dc2ac4869</id>
<content type='text'>
The TIMER_SOFTIRQ runs the hrtimers during bootup until a usable
clocksource and clock event sources are registered.  The switch to high
resolution mode happens inside of the TIMER_SOFTIRQ, but runs the softirq
afterwards.  That way the tick emulation timer, which was set up in the
switch to highres might be executed in the softirq context, which is a BUG.
 The rbtree has not to be touched by the softirq after the highres switch.

This BUG was observed by Andres Salomon, who provided the information to
debug it.

Return early from the softirq, when the switch was sucessful.

[dilinger@debian.org: add debug warning]
[akpm@linux-foundation.org: make debug warning compile]
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Andres Salomon &lt;dilinger@debian.org&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andres Salomon &lt;dilinger@debian.org&gt;
Acked-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
