From 6dd4c2b7f5f235e75dfbf7588c4bcb9013fc73b8 Mon Sep 17 00:00:00 2001 From: Cong Wang Date: Tue, 27 May 2025 14:48:05 -0700 Subject: [PATCH] sch_htb: make htb_qlen_notify() idempotent htb_qlen_notify() always deactivates the HTB class and in fact could trigger a warning if it is already deactivated. Therefore, it is not idempotent and not friendly to its callers, like fq_codel_dequeue(). Let's make it idempotent to ease qdisc_tree_reduce_backlog() callers' life. Reported-by: Gerrard Tai Signed-off-by: Cong Wang Reviewed-by: Simon Horman Link: https://patch.msgid.link/20250403211033.166059-2-xiyou.wangcong@gmail.com Acked-by: Jamal Hadi Salim Signed-off-by: Paolo Abeni (cherry picked from commit 5ba8b837b522d7051ef81bacf3d95383ff8edce5) CVE-2025-37798 Signed-off-by: Ian Whitfield Acked-by: Stefan Bader Acked-by: Edoardo Canepa Signed-off-by: Mehmet Basaran --- net/sched/sch_htb.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c index 19a578c31a91..be7f568530c5 100644 --- a/net/sched/sch_htb.c +++ b/net/sched/sch_htb.c @@ -1485,6 +1485,8 @@ static void htb_qlen_notify(struct Qdisc *sch, unsigned long arg) { struct htb_class *cl = (struct htb_class *)arg; + if (!cl->prio_activity) + return; htb_deactivate(qdisc_priv(sch), cl); }