mirror of
https://github.com/torvalds/linux.git
synced 2024-11-17 17:41:44 +00:00
[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>
This commit is contained in:
parent
1498b3f195
commit
6b25d30bf1
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user