mirror of https://gitee.com/openkylin/linux.git
net: sched: fix missing free per cpu on qstats
When a qdisc is using per cpu stats (currently just the ingress
qdisc) only the bstats are being freed. This also free's the qstats.
Fixes: b0ab6f9275
("net: sched: enable per cpu qstats")
Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f941461c92
commit
73c20a8b72
|
@ -658,8 +658,10 @@ 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))
|
||||
if (qdisc_is_percpu_stats(qdisc)) {
|
||||
free_percpu(qdisc->cpu_bstats);
|
||||
free_percpu(qdisc->cpu_qstats);
|
||||
}
|
||||
|
||||
kfree((char *) qdisc - qdisc->padded);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue