On 31/05/2023 04:25, Zhengchao Shao wrote:
The test case shown in [1] triggers the kernel to access the null pointer. Therefore, add related test cases to mq. The test results are as follows:
./tdc.py -e 0531 1..1 ok 1 0531 - Replace mq with invalid parent ID
./tdc.py -c mq 1..8 ok 1 ce7d - Add mq Qdisc to multi-queue device (4 queues) ok 2 2f82 - Add mq Qdisc to multi-queue device (256 queues) ok 3 c525 - Add duplicate mq Qdisc ok 4 128a - Delete nonexistent mq Qdisc ok 5 03a9 - Delete mq Qdisc twice ok 6 be0f - Add mq Qdisc to single-queue device ok 7 1023 - Show mq class ok 8 0531 - Replace mq with invalid parent ID
[1] https://lore.kernel.org/all/20230527093747.3583502-1-shaozhengchao@huawei.co... Signed-off-by: Zhengchao Shao shaozhengchao@huawei.com
.../tc-testing/tc-tests/qdiscs/mq.json | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/tools/testing/selftests/tc-testing/tc-tests/qdiscs/mq.json b/tools/testing/selftests/tc-testing/tc-tests/qdiscs/mq.json index 44fbfc6caec7..ddd4a48bfe65 100644 --- a/tools/testing/selftests/tc-testing/tc-tests/qdiscs/mq.json +++ b/tools/testing/selftests/tc-testing/tc-tests/qdiscs/mq.json @@ -155,5 +155,28 @@ "teardown": [ "echo "1" > /sys/bus/netdevsim/del_device" ]
}
- },
- {
"id": "0531",
"name": "Replace mq with invalid parent ID",
"category": [
"qdisc",
"mq"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
"echo \"1 1 16\" > /sys/bus/netdevsim/new_device",
"$TC qdisc add dev $ETH root handle ffff: mq"
],
"cmdUnderTest": "$TC qdisc replace dev $ETH parent ffff:fff1 handle ffff: mq",
"expExitCode": "2",
"verifyCmd": "$TC qdisc show dev $ETH",
"matchPattern": "qdisc fq_codel 0: parent ffff",
The default qdisc could be pfifo_fast or some other qdisc depending on the config file Perhaps it's better to match against: "qdisc [a-zA-Z0-9_]+ 0: parent ffff"
"matchCount": "16",
"teardown": [
"echo \"1\" > /sys/bus/netdevsim/del_device"
]
- } ]