Thread (8 messages) 8 messages, 3 authors, 2017-12-26

Re: [Patch net] net_sched: fix a missing rcu barrier in mini_qdisc_pair_swap()

flat view

From: David Miller <davem@davemloft.net>
Date: 2017-12-26 17:30:23

From: Cong Wang <redacted>
Date: Wed, 20 Dec 2017 23:26:24 -0800
The rcu_barrier_bh() in mini_qdisc_pair_swap() is to wait for
flying RCU callback installed by a previous mini_qdisc_pair_swap(),
however we miss it on the tp_head==NULL path, which leads to that
the RCU callback still uses miniq_old->rcu after it is freed together
with qdisc in qdisc_graft(). So just add it on that path too.

Fixes: 46209401f8f6 ("net: core: introduce mini_Qdisc and eliminate usage of tp->q for clsact fastpath ")
Reported-by: Jakub Kicinski <redacted>
Tested-by: Jakub Kicinski <redacted>
Cc: Jiri Pirko <redacted>
Cc: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Cong Wang <redacted>
Applied.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help