summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorKristof Provost <kp@FreeBSD.org>2020-11-24 17:32:49 +0000
committerKristof Provost <kp@FreeBSD.org>2020-11-24 17:32:49 +0000
commitd5325f2f3cc37996115e051d37ace36275184f20 (patch)
tree27a4bd31d9ca24cbf6e9153e3bb1b6d4bf19048c /tests
parent938a9d7c4f8028c9eb03e0ec4e20a9d1e1109709 (diff)
downloadsrc-test2-d5325f2f3cc37996115e051d37ace36275184f20.tar.gz
src-test2-d5325f2f3cc37996115e051d37ace36275184f20.zip
pf tests: provoke tag hashing panic
Attempt to provoke the panic fixed in r367987. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D27350
Notes
Notes: svn path=/head/; revision=367990
Diffstat (limited to 'tests')
-rw-r--r--tests/sys/netpfil/pf/ioctl/validation.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/sys/netpfil/pf/ioctl/validation.c b/tests/sys/netpfil/pf/ioctl/validation.c
index 4ed5a3b5cb9f..5b1f61720f66 100644
--- a/tests/sys/netpfil/pf/ioctl/validation.c
+++ b/tests/sys/netpfil/pf/ioctl/validation.c
@@ -790,6 +790,43 @@ ATF_TC_CLEANUP(getsrcnodes, tc)
COMMON_CLEANUP();
}
+ATF_TC_WITH_CLEANUP(tag);
+ATF_TC_HEAD(tag, tc)
+{
+ atf_tc_set_md_var(tc, "require.user", "root");
+}
+
+ATF_TC_BODY(tag, tc)
+{
+ struct pfioc_rule rule;
+
+ COMMON_HEAD();
+
+ memset(&rule, 0x42, sizeof(rule));
+
+ rule.ticket = 0;
+ rule.pool_ticket = 0;
+ rule.anchor[0] = 0;
+
+ rule.rule.return_icmp = 0;
+ bzero(&rule.rule.src, sizeof(rule.rule.src));
+ bzero(&rule.rule.dst, sizeof(rule.rule.dst));
+
+ rule.rule.ifname[0] = 0;
+ rule.rule.action = 0;
+ rule.rule.rtableid = 0;
+
+ rule.rule.tagname[0] = 0;
+
+ for (int i = 0; i < 10; i++)
+ ioctl(dev, DIOCADDRULE, &rule);
+}
+
+ATF_TC_CLEANUP(tag, tc)
+{
+ COMMON_CLEANUP();
+}
+
ATF_TP_ADD_TCS(tp)
{
ATF_TP_ADD_TC(tp, addtables);
@@ -811,6 +848,7 @@ ATF_TP_ADD_TCS(tp)
ATF_TP_ADD_TC(tp, cxrollback);
ATF_TP_ADD_TC(tp, commit);
ATF_TP_ADD_TC(tp, getsrcnodes);
+ ATF_TP_ADD_TC(tp, tag);
return (atf_no_error());
}