]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - net/tipc/netlink.c
genetlink: statically initialize families
[mirror_ubuntu-bionic-kernel.git] / net / tipc / netlink.c
index 3200059d14b2b60b1e5728bc2f5bd00c59d35f4b..74a405bf107bd57d51b3ffee1594d72321e84dfd 100644 (file)
@@ -135,15 +135,6 @@ const struct nla_policy tipc_nl_udp_policy[TIPC_NLA_UDP_MAX + 1] = {
 /* Users of the legacy API (tipc-config) can't handle that we add operations,
  * so we have a separate genl handling for the new API.
  */
-struct genl_family tipc_genl_family = {
-       .id             = GENL_ID_GENERATE,
-       .name           = TIPC_GENL_V2_NAME,
-       .version        = TIPC_GENL_V2_VERSION,
-       .hdrsize        = 0,
-       .maxattr        = TIPC_NLA_MAX,
-       .netnsok        = true,
-};
-
 static const struct genl_ops tipc_genl_v2_ops[] = {
        {
                .cmd    = TIPC_NL_BEARER_DISABLE,
@@ -258,11 +249,22 @@ static const struct genl_ops tipc_genl_v2_ops[] = {
 #endif
 };
 
+struct genl_family tipc_genl_family = {
+       .name           = TIPC_GENL_V2_NAME,
+       .version        = TIPC_GENL_V2_VERSION,
+       .hdrsize        = 0,
+       .maxattr        = TIPC_NLA_MAX,
+       .netnsok        = true,
+       .module         = THIS_MODULE,
+       .ops            = tipc_genl_v2_ops,
+       .n_ops          = ARRAY_SIZE(tipc_genl_v2_ops),
+};
+
 int tipc_nlmsg_parse(const struct nlmsghdr *nlh, struct nlattr ***attr)
 {
        u32 maxattr = tipc_genl_family.maxattr;
 
-       *attr = tipc_genl_family.attrbuf;
+       *attr = genl_family_attrbuf(&tipc_genl_family);
        if (!*attr)
                return -EOPNOTSUPP;
 
@@ -273,8 +275,7 @@ int tipc_netlink_start(void)
 {
        int res;
 
-       res = genl_register_family_with_ops(&tipc_genl_family,
-                                           tipc_genl_v2_ops);
+       res = genl_register_family(&tipc_genl_family);
        if (res) {
                pr_err("Failed to register netlink interface\n");
                return res;