OSDN Git Service

net_sched: initialize timer earlier in red_init()
authorCong Wang <xiyou.wangcong@gmail.com>
Sat, 25 Jul 2020 20:17:07 +0000 (13:17 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 29 Jul 2020 00:41:23 +0000 (17:41 -0700)
commit608b4adab17889576c6636311f495b1a52418c69
treedb5756d038d46cb1484d2b86e3b998b0614d23f0
parent1255457429309e723b1ee619bb6bb94a9be2a939
net_sched: initialize timer earlier in red_init()

When red_init() fails, red_destroy() is called to clean up.
If the timer is not initialized yet, del_timer_sync() will
complain. So we have to move timer_setup() before any failure.

Reported-and-tested-by: syzbot+6e95a4fabf88dc217145@syzkaller.appspotmail.com
Fixes: aee9caa03fc3 ("net: sched: sch_red: Add qevents "early_drop" and "mark"")
Cc: Petr Machata <petrm@mellanox.com>
Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Reviewed-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_red.c