mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 10:04:04 +02:00
net/sched: qfq: Use cl_is_active to determine whether class is active in qfq_rm_from_ag
This is more of a preventive patch to make the code more consistent and
to prevent possible exploits that employ child qlen manipulations on qfq.
use cl_is_active instead of relying on the child qdisc's qlen to determine
class activation.
Fixes: 462dbc9101 ("pkt_sched: QFQ Plus: fair-queueing service at DRR cost")
Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Link: https://patch.msgid.link/20260114160243.913069-3-jhs@mojatatu.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
50da4b9d07
commit
d837fbee92
|
|
@ -373,7 +373,7 @@ static void qfq_rm_from_agg(struct qfq_sched *q, struct qfq_class *cl)
|
|||
/* Deschedule class and remove it from its parent aggregate. */
|
||||
static void qfq_deact_rm_from_agg(struct qfq_sched *q, struct qfq_class *cl)
|
||||
{
|
||||
if (cl->qdisc->q.qlen > 0) /* class is active */
|
||||
if (cl_is_active(cl)) /* class is active */
|
||||
qfq_deactivate_class(q, cl);
|
||||
|
||||
qfq_rm_from_agg(q, cl);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user