[PATCH] gen estimator timer unload race
[NET]: Fix gen_estimator timer removal race As noticed by Jarek Poplawski <jarkao2@o2.pl>, the timer removal in gen_kill_estimator races with the timer function rearming the timer. Check whether the timer list is empty before rearming the timer in the timer function to fix this. Signed-off-by: Patrick McHardy <kaber@trash.net> Acked-by: Jarek Poplawski <jarkao2@o2.pl> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Willy Tarreau <w@1wt.eu>
This commit is contained in:
committed by
Willy Tarreau
parent
844aa7759d
commit
6bfc898d23
@@ -128,7 +128,8 @@ static void est_timer(unsigned long arg)
|
||||
spin_unlock(e->stats_lock);
|
||||
}
|
||||
|
||||
mod_timer(&elist[idx].timer, jiffies + ((HZ<<idx)/4));
|
||||
if (elist[idx].list != NULL)
|
||||
mod_timer(&elist[idx].timer, jiffies + ((HZ<<idx)/4));
|
||||
read_unlock(&est_lock);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user