blob: bd6cea7080d152cf7ed8edcb17d0b92914c470c9 [file] [log] [blame]
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)