Message ID | 20230531072511.6927-1-shaozhengchao@huawei.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [net-next] selftests/tc-testing: replace mq with invalid parent ID | expand |
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.com/ > 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" > + ] > + } > ]
On 2023/5/31 21:52, Pedro Tammela wrote: > 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.com/ >> 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" > Hi Pedro: You are right here.I will send V2. Thank you. Zhengchao Shao >> + "matchCount": "16", >> + "teardown": [ >> + "echo \"1\" > /sys/bus/netdevsim/del_device" >> + ] >> + } >> ] >
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", + "matchCount": "16", + "teardown": [ + "echo \"1\" > /sys/bus/netdevsim/del_device" + ] + } ]
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> --- .../tc-testing/tc-tests/qdiscs/mq.json | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-)