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.com/
Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com>
Reviewed-by: Pedro Tammela <pctammela@mojatatu.com>
Link: https://lore.kernel.org/r/20230601012250.52738-1-shaozhengchao@huawei.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
             "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 [a-zA-Z0-9_]+ 0: parent ffff",
+               "matchCount": "16",
+               "teardown": [
+                       "echo \"1\" > /sys/bus/netdevsim/del_device"
+               ]
+       }
 ]