From: Jakub Kicinski <kuba@kernel.org>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: netdev@vger.kernel.org
Subject: Re: [PATCH net v2 00/10] netem: fixes and selftests
Date: Sun, 15 Mar 2026 08:19:53 -0700 [thread overview]
Message-ID: <20260315081953.3ceb7a84@kernel.org> (raw)
In-Reply-To: <20260315001649.23931-1-stephen@networkplumber.org>
On Sat, 14 Mar 2026 17:14:04 -0700 Stephen Hemminger wrote:
> The check_netem_in_tree() restriction added for CVE-2024-45016 rejects
> valid configurations such as HTB or HFSC trees with netem on multiple
> branches -- including examples from the netem documentation itself.
> This has been an open issue for over a year (kernel.org bug #220774).
>
> This series replaces it with a per-CPU recursion guard, restructures
> dequeue to fix the HFSC eltree corruption, and addresses several
> additional bugs found during a code audit.
# not ok 379 7a01 - NETEM passes traffic with delay
# Could not match regex pattern. Verify command output:
# qdisc netem 1: root refcnt 33 limit 1000 delay 1ms seed 151499771072372938
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
#
# not ok 380 7b02 - NETEM passes traffic with duplication
# Could not match regex pattern. Verify command output:
# qdisc netem 1: root refcnt 33 limit 1000 delay 1ms duplicate 50% seed 4449138859105539433
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
#
# not ok 381 7c03 - NETEM passes traffic with loss
# Could not match regex pattern. Verify command output:
# qdisc netem 1: root refcnt 33 limit 1000 delay 1ms loss 30% seed 17755509090945397811
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
#
# not ok 382 7d04 - NETEM passes traffic with corrupt
# Could not match regex pattern. Verify command output:
# qdisc netem 1: root refcnt 33 limit 1000 delay 1ms corrupt 10% seed 15571003730150948945
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
#
# not ok 383 7e05 - NETEM passes traffic under HTB with two netem leaves
# Could not match regex pattern. Verify command output:
# qdisc htb 1: root refcnt 33 r2q 10 default 0x10 direct_packets_stat 0 direct_qlen 1000
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
# qdisc netem 10: parent 1:10 limit 1000 delay 1ms duplicate 25% seed 7229481943258718053
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
# qdisc netem 20: parent 1:20 limit 1000 delay 1ms duplicate 25% seed 2614650852791982394
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
#
# not ok 384 7f06 - NETEM passes traffic under HFSC with duplication
# Could not match regex pattern. Verify command output:
# qdisc hfsc 1: root refcnt 33 default 0x1
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
# qdisc netem 10: parent 1:1 limit 1000 delay 1ms duplicate 25% seed 1742473429681626986
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
#
# not ok 385 7a07 - NETEM passes traffic with nested netem
# Could not match regex pattern. Verify command output:
# qdisc netem 1: root refcnt 33 limit 1000 delay 1ms seed 959619114654116267
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
# qdisc netem 10: parent 1:1 limit 1000 delay 1ms duplicate 10% seed 1402527459214356892
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
#
# not ok 386 7b08 - NETEM passes traffic with TBF child
# Could not match regex pattern. Verify command output:
# qdisc netem 1: root refcnt 33 limit 1000 delay 1ms seed 3026058286388988065
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
# qdisc tbf 10: parent 1:1 rate 1Mbit burst 10Kb lat 50ms
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
#
# not ok 387 7c09 - NETEM passes traffic with all impairments
# Could not match regex pattern. Verify command output:
# qdisc netem 1: root refcnt 33 limit 1000 delay 1ms 500us loss 5% duplicate 10% reorder 25% 50% corrupt 1% seed 4173999615992747611 gap 5
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
#
# not ok 388 7d0a - NETEM passes traffic with reorder
# Could not match regex pattern. Verify command output:
# qdisc netem 1: root refcnt 33 limit 1000 delay 10ms reorder 25% 50% seed 16878270064950901169 gap 5
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
#
# not ok 389 7e0b - NETEM passes traffic with slot pacing
# Could not match regex pattern. Verify command output:
# qdisc netem 1: root refcnt 33 limit 1000 delay 1ms slot 20ms 40ms packets 5 bytes 1500 seed 12148330044418512905
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
#
# not ok 390 7f0c - NETEM passes traffic with rate limiting
# Could not match regex pattern. Verify command output:
# qdisc netem 1: root refcnt 33 limit 1000 delay 1ms rate 1Mbit seed 17545598048030611383
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
#
# not ok 391 7a0d - NETEM passes traffic with SFQ child
# Could not match regex pattern. Verify command output:
# qdisc netem 1: root refcnt 33 limit 1000 delay 1ms seed 7568266806072117190
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
# qdisc sfq 10: parent 1:1 limit 127p quantum 1514b depth 127 divisor 1024 perturb 10sec
# Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
# backlog 0b 0p requeues 0
#
next prev parent reply other threads:[~2026-03-15 15:19 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-15 0:14 [PATCH net v2 00/10] netem: fixes and selftests Stephen Hemminger
2026-03-15 0:14 ` [PATCH net v2 01/10] Revert "net/sched: Restrict conditions for adding duplicating netems to qdisc tree" Stephen Hemminger
2026-03-15 0:14 ` [PATCH net v2 02/10] net/sched: netem: add per-CPU recursion guard for duplication Stephen Hemminger
2026-03-15 0:14 ` [PATCH net v2 03/10] selftests/tc-testing: update netem tests after check_netem_in_tree revert Stephen Hemminger
2026-03-15 0:14 ` [PATCH net v2 04/10] net/sched: netem: restructure dequeue to avoid re-entrancy with child qdisc Stephen Hemminger
2026-03-15 0:14 ` [PATCH net v2 05/10] net/sched: netem: fix probability gaps in 4-state loss model Stephen Hemminger
2026-03-15 0:14 ` [PATCH net v2 06/10] net/sched: netem: fix slot delay calculation overflow Stephen Hemminger
2026-03-15 0:14 ` [PATCH net v2 07/10] net/sched: netem: fix queue limit check to include reordered packets Stephen Hemminger
2026-03-15 0:14 ` [PATCH net v2 08/10] net/sched: netem: null-terminate tfifo linear queue tail Stephen Hemminger
2026-03-15 0:14 ` [PATCH net v2 09/10] net/sched: netem: only reseed PRNG when seed is explicitly provided Stephen Hemminger
2026-03-15 0:14 ` [PATCH net v2 10/10] selftests/tc-testing: add netem configuration and traffic tests Stephen Hemminger
2026-03-15 15:19 ` Jakub Kicinski [this message]
2026-03-15 16:09 ` [PATCH net v2 00/10] netem: fixes and selftests Stephen Hemminger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260315081953.3ceb7a84@kernel.org \
--to=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=stephen@networkplumber.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox