From 13dbd03bf7ca0a245cfdfd2d8c8b73e486bbaa7b Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 2 Dec 2024 10:57:36 +0100 Subject: pkg/declextract: emit more netlink families Emit families w/o policy, emit duplicate commands. --- tools/syz-declextract/testdata/netlink.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'tools/syz-declextract/testdata/netlink.c') diff --git a/tools/syz-declextract/testdata/netlink.c b/tools/syz-declextract/testdata/netlink.c index 355b84f1f..dc6ea4388 100644 --- a/tools/syz-declextract/testdata/netlink.c +++ b/tools/syz-declextract/testdata/netlink.c @@ -28,6 +28,10 @@ const struct nla_policy foo_genl_policy[] = { [NETLINK_FOO_ATTR7] = { .len = sizeof(var) }, }; +const struct nla_policy foo_dump_genl_policy[] = { + [NETLINK_FOO_ATTR1] = { .type = NLA_U32 }, +}; + const struct nla_policy genl_policy_reject_all[] = { { .type = NLA_REJECT }, { .type = NLA_REJECT }, @@ -44,10 +48,16 @@ static const struct genl_ops foo_ops[] = { .flags = GENL_ADMIN_PERM, .doit = foo_cmd, }, + { + .cmd = NETLINK_FOO_CMD_BAR, + .flags = GENL_UNS_ADMIN_PERM, + .doit = bar_cmd, + }, { .cmd = NETLINK_FOO_CMD_BAR, .flags = GENL_UNS_ADMIN_PERM, .dumpit = bar_cmd, + .policy = foo_dump_genl_policy, }, }; @@ -85,3 +95,20 @@ struct genl_family bar_family = { struct genl_family noops_family = { .name = "NOOPS", }; + +enum netlink_nopolicy_cmds { + NETLINK_NOPOLICY_CMD, +}; + +static const struct genl_ops nopolicy_ops[] = { + { + .cmd = NETLINK_NOPOLICY_CMD, + .doit = foo_cmd, + }, +}; + +struct genl_family nopolicy_family = { + .name = "nopolicy", + .ops = nopolicy_ops, + .n_ops = ARRAY_SIZE(nopolicy_ops), +}; -- cgit mrf-deployment