timer: Avoid reading uninitialized data
authorPavel Roskin <proski@gnu.org>
Sat, 18 Jul 2009 20:46:02 +0000 (16:46 -0400)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 18 Jul 2009 21:11:43 +0000 (23:11 +0200)
timer->expires may be uninitialized, so check timer_pending() before
touching timer->expires to pacify kmemcheck.

Signed-off-by: Pavel Roskin <proski@gnu.org>
LKML-Reference: <20090718204602.5191.360.stgit@mj.roinet.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/timer.c

index 0b36b9e5cc8b4e27f6adf89de403885cfe8a6687..a7f07d5a6241d882af4466ec3280a89f2681e8c9 100644 (file)
@@ -714,7 +714,7 @@ int mod_timer(struct timer_list *timer, unsigned long expires)
         * networking code - if the timer is re-modified
         * to be the same thing then just return:
         */
-       if (timer->expires == expires && timer_pending(timer))
+       if (timer_pending(timer) && timer->expires == expires)
                return 1;
 
        return __mod_timer(timer, expires, false, TIMER_NOT_PINNED);