Skip to content

Commit

Permalink
Merge branch 'net_sched-prevent-creation-of-classes-with-tc_h_root'
Browse files Browse the repository at this point in the history
Cong Wang says:

====================
net_sched: Prevent creation of classes with TC_H_ROOT

This patchset contains a bug fix and its TDC test case.
====================

Link: https://patch.msgid.link/20250306232355.93864-1-xiyou.wangcong@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
Jakub Kicinski committed Mar 12, 2025
2 parents 081b575 + bb7737d commit 83d2fe6
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 0 deletions.
6 changes: 6 additions & 0 deletions net/sched/sch_api.c
Original file line number Diff line number Diff line change
Expand Up @@ -2254,6 +2254,12 @@ static int tc_ctl_tclass(struct sk_buff *skb, struct nlmsghdr *n,
return -EOPNOTSUPP;
}

/* Prevent creation of traffic classes with classid TC_H_ROOT */
if (clid == TC_H_ROOT) {
NL_SET_ERR_MSG(extack, "Cannot create traffic class with classid TC_H_ROOT");
return -EINVAL;
}

new_cl = cl;
err = -EOPNOTSUPP;
if (cops->change)
Expand Down
25 changes: 25 additions & 0 deletions tools/testing/selftests/tc-testing/tc-tests/qdiscs/drr.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,5 +61,30 @@
"teardown": [
"$TC qdisc del dev $DUMMY handle 1: root"
]
},
{
"id": "4009",
"name": "Reject creation of DRR class with classid TC_H_ROOT",
"category": [
"qdisc",
"drr"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
"$TC qdisc add dev $DUMMY root handle ffff: drr",
"$TC filter add dev $DUMMY parent ffff: basic classid ffff:1",
"$TC class add dev $DUMMY parent ffff: classid ffff:1 drr",
"$TC filter add dev $DUMMY parent ffff: prio 1 u32 match u16 0x0000 0xfe00 at 2 flowid ffff:ffff"
],
"cmdUnderTest": "$TC class add dev $DUMMY parent ffff: classid ffff:ffff drr",
"expExitCode": "2",
"verifyCmd": "$TC class show dev $DUMMY",
"matchPattern": "class drr ffff:ffff",
"matchCount": "0",
"teardown": [
"$TC qdisc del dev $DUMMY root"
]
}
]

0 comments on commit 83d2fe6

Please sign in to comment.