]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
selftests/tc-testing: add test for HFSC divide-by-zero in rtsc_min()
authorXiang Mei <xmei5@asu.edu>
Thu, 26 Mar 2026 20:43:10 +0000 (13:43 -0700)
committerJakub Kicinski <kuba@kernel.org>
Sat, 28 Mar 2026 03:41:11 +0000 (20:41 -0700)
commit5d17af9eb2dd3de6846ed344c883de7812e6cc09
treec9190a9c7931154790385837aac1ccfd389f7409
parent4576100b8cd03118267513cafacde164b498b322
selftests/tc-testing: add test for HFSC divide-by-zero in rtsc_min()

Add a regression test for the divide-by-zero in rtsc_min() triggered
when m2sm() converts a large m1 value (e.g. 32gbit) to a u64 scaled
slope reaching 2^32. rtsc_min() stores the difference of two such u64
values (sm1 - sm2) in a u32 variable `dsm`, truncating 2^32 to zero
and causing a divide-by-zero oops in the concave-curve intersection
path. The test configures an HFSC class with m1=32gbit d=1ms m2=0bit,
sends a packet to activate the class, waits for it to drain and go
idle, then sends another packet to trigger reactivation through
rtsc_min().

Signed-off-by: Xiang Mei <xmei5@asu.edu>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Reviewed-by: Victor Nogueira <victor@mojatatu.com>
Link: https://patch.msgid.link/20260326204310.1549327-2-xmei5@asu.edu
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/tc-testing/tc-tests/infra/qdiscs.json