Timer is properly armed on demand from tun_flow_update(), so there is no need to arm it at tun init.
Signed-off-by: Eric Dumazet <eduma...@google.com> --- drivers/net/tun.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 995887de5a98283382a631bcb8dfd874a4037ed3..2a2d058cdd403594e3f89c9a491ada17e3063506 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -1197,8 +1197,6 @@ static void tun_flow_init(struct tun_struct *tun) tun->ageing_time = TUN_FLOW_EXPIRE; setup_timer(&tun->flow_gc_timer, tun_flow_cleanup, (unsigned long)tun); - mod_timer(&tun->flow_gc_timer, - round_jiffies_up(jiffies + tun->ageing_time)); } static void tun_flow_uninit(struct tun_struct *tun) -- 2.15.0.rc0.271.g36b669edcc-goog