htb: call qdisc_root with rcu read lock held
authorFlorian Westphal <fw@strlen.de>
Tue, 14 Jun 2016 04:16:27 +0000 (06:16 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 15 Jun 2016 21:42:46 +0000 (14:42 -0700)
commit0ee13627f963f9c5c9544ed19d82854836d5e676
tree608c64dece5107d154ab684fe03d1558f6e4b9b2
parentebecaa6662b0a9c3590bd644a4cec6f9d96818b7
htb: call qdisc_root with rcu read lock held

saw a debug splat:
net/include/net/sch_generic.h:287 suspicious rcu_dereference_check() usage!
other info that might help us debug this:
rcu_scheduler_active = 1, debug_locks = 0
 2 locks held by kworker/2:1/710:
  #0:  ("events"){.+.+.+}, at: [<ffffffff8106ca1d>]
  #1:  ((&q->work)){+.+...}, at: [<ffffffff8106ca1d>] process_one_work+0x14d/0x690
Workqueue: events htb_work_func
Call Trace:
 [<ffffffff812dc763>] dump_stack+0x85/0xc2
 [<ffffffff8109fee7>] lockdep_rcu_suspicious+0xe7/0x120
 [<ffffffff814ced47>] htb_work_func+0x67/0x70

Signed-off-by: Florian Westphal <fw@strlen.de>
Acked-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_htb.c