net: sched: make bstats per cpu and estimator RCU safe
[firefly-linux-kernel-4.4.55.git] / net / sched / sch_generic.c
index 11b28f651ad173781660e666ec0b4ca2679ca9ea..7c8e5d73d433cc650fbea0878eb045929ba27472 100644 (file)
@@ -632,6 +632,9 @@ static void qdisc_rcu_free(struct rcu_head *head)
 {
        struct Qdisc *qdisc = container_of(head, struct Qdisc, rcu_head);
 
+       if (qdisc_is_percpu_stats(qdisc))
+               free_percpu(qdisc->cpu_bstats);
+
        kfree((char *) qdisc - qdisc->padded);
 }