Skip to content

Commit

Permalink
rtnetlink: ipv6: convert remaining users to rtnl_register_module
Browse files Browse the repository at this point in the history
convert remaining users of rtnl_register to rtnl_register_module
and un-export rtnl_register.

Requested-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Florian Westphal authored and David S. Miller committed Dec 4, 2017
1 parent 112d59c commit a3fde2a
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 13 deletions.
2 changes: 1 addition & 1 deletion include/net/addrconf.h
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ static inline int addrconf_finite_timeout(unsigned long timeout)
*/
int ipv6_addr_label_init(void);
void ipv6_addr_label_cleanup(void);
void ipv6_addr_label_rtnl_register(void);
int ipv6_addr_label_rtnl_register(void);
u32 ipv6_addr_label(struct net *net, const struct in6_addr *addr,
int type, int ifindex);

Expand Down
1 change: 0 additions & 1 deletion net/core/rtnetlink.c
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,6 @@ void rtnl_register(int protocol, int msgtype,
pr_err("Unable to register rtnetlink message handler, "
"protocol = %d, message type = %d\n", protocol, msgtype);
}
EXPORT_SYMBOL_GPL(rtnl_register);

/**
* rtnl_unregister - Unregister a rtnetlink message type
Expand Down
4 changes: 3 additions & 1 deletion net/ipv6/addrconf.c
Original file line number Diff line number Diff line change
Expand Up @@ -6627,7 +6627,9 @@ int __init addrconf_init(void)
RTNL_FLAG_DOIT_UNLOCKED);
if (err < 0)
goto errout;
ipv6_addr_label_rtnl_register();
err = ipv6_addr_label_rtnl_register();
if (err < 0)
goto errout;

return 0;
errout:
Expand Down
24 changes: 17 additions & 7 deletions net/ipv6/addrlabel.c
Original file line number Diff line number Diff line change
Expand Up @@ -547,12 +547,22 @@ static int ip6addrlbl_get(struct sk_buff *in_skb, struct nlmsghdr *nlh,
return err;
}

void __init ipv6_addr_label_rtnl_register(void)
int __init ipv6_addr_label_rtnl_register(void)
{
rtnl_register(PF_INET6, RTM_NEWADDRLABEL, ip6addrlbl_newdel,
NULL, RTNL_FLAG_DOIT_UNLOCKED);
rtnl_register(PF_INET6, RTM_DELADDRLABEL, ip6addrlbl_newdel,
NULL, RTNL_FLAG_DOIT_UNLOCKED);
rtnl_register(PF_INET6, RTM_GETADDRLABEL, ip6addrlbl_get,
ip6addrlbl_dump, RTNL_FLAG_DOIT_UNLOCKED);
int ret;

ret = rtnl_register_module(THIS_MODULE, PF_INET6, RTM_NEWADDRLABEL,
ip6addrlbl_newdel,
NULL, RTNL_FLAG_DOIT_UNLOCKED);
if (ret < 0)
return ret;
ret = rtnl_register_module(THIS_MODULE, PF_INET6, RTM_DELADDRLABEL,
ip6addrlbl_newdel,
NULL, RTNL_FLAG_DOIT_UNLOCKED);
if (ret < 0)
return ret;
ret = rtnl_register_module(THIS_MODULE, PF_INET6, RTM_GETADDRLABEL,
ip6addrlbl_get,
ip6addrlbl_dump, RTNL_FLAG_DOIT_UNLOCKED);
return ret;
}
9 changes: 6 additions & 3 deletions net/ipv6/ip6mr.c
Original file line number Diff line number Diff line change
Expand Up @@ -1425,10 +1425,13 @@ int __init ip6_mr_init(void)
goto add_proto_fail;
}
#endif
rtnl_register(RTNL_FAMILY_IP6MR, RTM_GETROUTE, NULL,
ip6mr_rtm_dumproute, 0);
return 0;
err = rtnl_register_module(THIS_MODULE, RTNL_FAMILY_IP6MR, RTM_GETROUTE,
NULL, ip6mr_rtm_dumproute, 0);
if (err == 0)
return 0;

#ifdef CONFIG_IPV6_PIMSM_V2
inet6_del_protocol(&pim6_protocol, IPPROTO_PIM);
add_proto_fail:
unregister_netdevice_notifier(&ip6_mr_notifier);
#endif
Expand Down

0 comments on commit a3fde2a

Please sign in to comment.