net_sched: fix a use-after-free in sfq

Fixes: 25331d6ce4 ("net: sched: implement qstat helper routines")
Cc: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: Cong Wang <cwang@twopensource.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
WANG Cong 2015-07-14 11:21:57 -07:00 committed by David S. Miller
parent 51f65e3c0d
commit e8d092aafd

View file

@ -306,10 +306,10 @@ drop:
len = qdisc_pkt_len(skb); len = qdisc_pkt_len(skb);
slot->backlog -= len; slot->backlog -= len;
sfq_dec(q, x); sfq_dec(q, x);
kfree_skb(skb);
sch->q.qlen--; sch->q.qlen--;
qdisc_qstats_drop(sch); qdisc_qstats_drop(sch);
qdisc_qstats_backlog_dec(sch, skb); qdisc_qstats_backlog_dec(sch, skb);
kfree_skb(skb);
return len; return len;
} }