mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 04:37:32 -04:00
selftests/tc-testing: Verify IFE can handle truncated inner Ethernet header
Add a tdc test that exercises the act_ife decode path with a malformed IFE packet whose encapsulated inner Ethernet header is truncated. The injected frame has a valid outer Ethernet header (ethertype 0xED3E) and a minimal IFE header (metalen 2, i.e. no metadata TLVs), but the payload that should hold the original frame is a single byte instead of a full Ethernet header. Once ife_decode() strips the outer header and the IFE metadata, fewer than ETH_HLEN bytes are left, which previously let eth_type_trans() read past the end of the linear data. Signed-off-by: Victor Nogueira <victor@mojatatu.com> Link: https://patch.msgid.link/20260610183814.1648888-3-n05ec@lzu.edu.cn Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
9406f6012b
commit
a4004aa0de
@@ -1378,5 +1378,60 @@
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "4e6b",
|
||||
"name": "Decode IFE packet with truncated inner Ethernet header",
|
||||
"category": [
|
||||
"actions",
|
||||
"ife"
|
||||
],
|
||||
"plugins": {
|
||||
"requires": [
|
||||
"nsPlugin",
|
||||
"scapyPlugin"
|
||||
]
|
||||
},
|
||||
"setup": [
|
||||
[
|
||||
"$TC actions flush action ife",
|
||||
0,
|
||||
1,
|
||||
255
|
||||
],
|
||||
"$TC qdisc add dev $DEV1 clsact"
|
||||
],
|
||||
"scapy": [
|
||||
{
|
||||
"iface": "$DEV0",
|
||||
"count": 1,
|
||||
"packet": "Ether(type=0xED3E) / Raw(b'\\x00\\x02\\xaa')"
|
||||
}
|
||||
],
|
||||
"cmdUnderTest": "$TC filter add dev $DEV1 ingress protocol all matchall action ife decode pipe index 10",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC -s -j actions get action ife index 10",
|
||||
"matchJSON": [
|
||||
{
|
||||
"total acts": 0
|
||||
},
|
||||
{
|
||||
"actions": [
|
||||
{
|
||||
"kind": "ife",
|
||||
"mode": "decode",
|
||||
"index": 10,
|
||||
"stats": {
|
||||
"bytes": 3,
|
||||
"packets": 1,
|
||||
"drops": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"teardown": [
|
||||
"$TC qdisc del dev $DEV1 clsact"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user