Re: [Patch net-next] net_sched: call qdisc_reset() with qdisc lock

2018-01-02 Thread David Miller
From: Cong Wang Date: Thu, 21 Dec 2017 16:03:29 -0800 > qdisc_reset() should always be called with qdisc spinlock > and with BH disabled, otherwise qdisc ->reset() could race > with TX BH. > > Fixes: 7bbde83b1860 ("net: sched: drop qdisc_reset from dev_graft_qdisc") >

Re: [Patch net-next] net_sched: call qdisc_reset() with qdisc lock

2017-12-22 Thread Cong Wang
On Thu, Dec 21, 2017 at 7:36 PM, John Fastabend wrote: > On 12/21/2017 04:03 PM, Cong Wang wrote: >> qdisc_reset() should always be called with qdisc spinlock >> and with BH disabled, otherwise qdisc ->reset() could race >> with TX BH. >> > hmm I don't see how this fixes

Re: [Patch net-next] net_sched: call qdisc_reset() with qdisc lock

2017-12-21 Thread Jakub Kicinski
On Thu, 21 Dec 2017 19:36:51 -0800, John Fastabend wrote: > diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c > index ab497ef..720829e 100644 > --- a/net/sched/sch_generic.c > +++ b/net/sched/sch_generic.c > @@ -1071,7 +1071,8 @@ static bool some_qdisc_is_busy(struct net_device *dev)

Re: [Patch net-next] net_sched: call qdisc_reset() with qdisc lock

2017-12-21 Thread John Fastabend
On 12/21/2017 04:03 PM, Cong Wang wrote: > qdisc_reset() should always be called with qdisc spinlock > and with BH disabled, otherwise qdisc ->reset() could race > with TX BH. > hmm I don't see how this fixes the issue. pfifo_fast is no longer using the qdisc lock so that doesn't help. And it is

[Patch net-next] net_sched: call qdisc_reset() with qdisc lock

2017-12-21 Thread Cong Wang
qdisc_reset() should always be called with qdisc spinlock and with BH disabled, otherwise qdisc ->reset() could race with TX BH. Fixes: 7bbde83b1860 ("net: sched: drop qdisc_reset from dev_graft_qdisc") Reported-by: Jakub Kicinski Cc: John Fastabend