Commit 83d2fe6b authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge branch 'net_sched-prevent-creation-of-classes-with-tc_h_root'

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: default avatarJakub Kicinski <kuba@kernel.org>
parents 081b5756 bb7737de
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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)
+25 −0
Original line number Diff line number Diff line
@@ -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"
        ]
    }
]