| From stable-bounces@linux.kernel.org Tue Aug 12 08:30:25 2008 |
| From: Oleg Nesterov <oleg@tv-sign.ru> |
| Date: Tue, 12 Aug 2008 15:30:09 GMT |
| Subject: posix-timers: do_schedule_next_timer: fix the setting of ->si_overrun |
| To: jejb@kernel.org, stable@kernel.org |
| Message-ID: <200808121530.m7CFU9K7013752@hera.kernel.org> |
| |
| From: Oleg Nesterov <oleg@tv-sign.ru> |
| |
| commit 54da1174922cddd4be83d5a364b2e0fdd693f513 upstream |
| |
| do_schedule_next_timer() sets info->si_overrun = timr->it_overrun_last, |
| this discards the already accumulated overruns. |
| |
| Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> |
| Cc: Mark McLoughlin <markmc@redhat.com> |
| Cc: Oliver Pinter <oliver.pntr@gmail.com> |
| Cc: Roland McGrath <roland@redhat.com> |
| Cc: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| kernel/posix-timers.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/kernel/posix-timers.c |
| +++ b/kernel/posix-timers.c |
| @@ -289,7 +289,7 @@ void do_schedule_next_timer(struct sigin |
| else |
| schedule_next_timer(timr); |
| |
| - info->si_overrun = timr->it_overrun_last; |
| + info->si_overrun += timr->it_overrun_last; |
| } |
| |
| if (timr) |