]> git.ipfire.org Git - thirdparty/linux.git/commit
net/sched: sch_qfq: do not free existing class in qfq_change_class()
authorEric Dumazet <edumazet@google.com>
Mon, 12 Jan 2026 17:56:56 +0000 (17:56 +0000)
committerJakub Kicinski <kuba@kernel.org>
Wed, 14 Jan 2026 03:36:56 +0000 (19:36 -0800)
commit3879cffd9d07aa0377c4b8835c4f64b4fb24ac78
tree3a2b6be3c3760571a030ebecd863448bb484396c
parentdbe6b3138fb877a368917833f713bfbbb521045e
net/sched: sch_qfq: do not free existing class in qfq_change_class()

Fixes qfq_change_class() error case.

cl->qdisc and cl should only be freed if a new class and qdisc
were allocated, or we risk various UAF.

Fixes: 462dbc9101ac ("pkt_sched: QFQ Plus: fair-queueing service at DRR cost")
Reported-by: syzbot+07f3f38f723c335f106d@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/netdev/6965351d.050a0220.eaf7.00c5.GAE@google.com/T/#u
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Jamal Hadi Salim <jhs@mojatatu.com>
Link: https://patch.msgid.link/20260112175656.17605-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/sched/sch_qfq.c