]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
selftests: tc-testing: add act_ct test for malformed header handling
authorHyunjung Ko <hj351016@gmail.com>
Thu, 6 Aug 2026 10:12:35 +0000 (19:12 +0900)
committerJakub Kicinski <kuba@kernel.org>
Mon, 10 Aug 2026 23:37:07 +0000 (16:37 -0700)
commitf1b3416ceaf7ca4cb5cbd986ee8fe3ffaeda2d48
treedf82d995029a927d0a82405d59282d07b1554ea4
parent8a7ed561671aa6a911a2de99e59ef670a4d0b1df
selftests: tc-testing: add act_ct test for malformed header handling

Add a tdc case covering the leak fixed by the previous patch.

The test attaches "action ct" to a clsact ingress chain and injects ten
IPv6 frames whose nexthdr says hop-by-hop but which carry nothing after
the 40-byte header, so ipv6_find_hdr() fails and
tcf_ct_ipv6_is_fragment() returns -EPROTO.

Before the fix act_ct returned TC_ACT_CONSUMED for these packets, so
tc_run() never reached its TC_ACT_SHOT arm and the clsact drop counter
stayed at zero while the skbs leaked. After the fix the packets are
dropped properly and the counter reflects them, which is what the test
matches on:

  before:  Sent 476 bytes 11 pkt (dropped 0, overlimits 0 requeues 0)
  after:   Sent 400 bytes 10 pkt (dropped 10, overlimits 0 requeues 0)

Signed-off-by: Hyunjung Ko <hj351016@gmail.com>
Reviewed-by: Victor Nogueira <victor@mojatatu.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Link: https://patch.msgid.link/20260806101235.809370-2-hj351016@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/tc-testing/tc-tests/actions/ct.json