]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
selftests/tc-testing: Add tests that force red and sfb to dequeue from child's gso_skb
authorVictor Nogueira <victor@mojatatu.com>
Thu, 30 Apr 2026 15:29:57 +0000 (11:29 -0400)
committerJakub Kicinski <kuba@kernel.org>
Sat, 2 May 2026 17:20:56 +0000 (10:20 -0700)
commit3a3a30c14d7f04206916824a79878cfefac6c8e2
tree91478226e09593baa593edcfab27d527aac385cc
parent1b9bc71153b01dbde8045b9edede4240f4f5520e
selftests/tc-testing: Add tests that force red and sfb to dequeue from child's gso_skb

Create 4 test cases:
- Force red to dequeue from its child's gso_skb with qfq leaf
- Force sfb to dequeue from its child's gso_skb with qfq leaf
- Force red to dequeue from its child's gso_skb with dualpi2 leaf
- Force sfb to dequeue from its child's gso_skb with dualpi2 leaf

All of them have tbf followed by red (or sfb) followed by qfq (or
dualpi2). Since tbf calls its child's peek followed by
qdisc_dequeue_peeked, it will force red/sfb to call their child's peek.
In this case, since the child (qfq/dualpi2) has qdisc_peek_dequeued as
its peek callback, the packet will be stored in its gso_skb queue. During
the subsequent call to qdisc_dequeue_peeked, red/sfb will have to dequeue
from the child's gso_skb to retrieve the packet.
Not doing so will cause a NULL ptr deref which was happening before a
recent fix.

Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Victor Nogueira <victor@mojatatu.com>
Link: https://patch.msgid.link/20260430152957.194015-4-jhs@mojatatu.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/tc-testing/tc-tests/infra/qdiscs.json