sch_qfq: make qfq_qlen_notify() idempotent
authorCong Wang <xiyou.wangcong@gmail.com>
Thu, 3 Apr 2025 21:10:26 +0000 (14:10 -0700)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 8 Apr 2025 08:57:49 +0000 (10:57 +0200)
commit55f9eca4bfe30a15d8656f915922e8c98b7f0728
tree912693d530733eb931b91868f838d4bd0b645e36
parent51eb3b65544c9efd6a1026889ee5fb5aa62da3bb
sch_qfq: make qfq_qlen_notify() idempotent

qfq_qlen_notify() always deletes its class from its active list
with list_del_init() _and_ calls qfq_deactivate_agg() when the whole list
becomes empty.

To make it idempotent, just skip everything when it is not in the active
list.

Also change other list_del()'s to list_del_init() just to be extra safe.

Reported-by: Gerrard Tai <gerrard.tai@starlabs.sg>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250403211033.166059-5-xiyou.wangcong@gmail.com
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
net/sched/sch_qfq.c