Skip to content

Commit a3fde2a

Browse files
Florian Westphaldavem330
authored andcommitted
rtnetlink: ipv6: convert remaining users to rtnl_register_module
convert remaining users of rtnl_register to rtnl_register_module and un-export rtnl_register. Requested-by: David S. Miller <[email protected]> Signed-off-by: Florian Westphal <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 112d59c commit a3fde2a

File tree

5 files changed

+27
-13
lines changed

5 files changed

+27
-13
lines changed

include/net/addrconf.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ static inline int addrconf_finite_timeout(unsigned long timeout)
180180
*/
181181
int ipv6_addr_label_init(void);
182182
void ipv6_addr_label_cleanup(void);
183-
void ipv6_addr_label_rtnl_register(void);
183+
int ipv6_addr_label_rtnl_register(void);
184184
u32 ipv6_addr_label(struct net *net, const struct in6_addr *addr,
185185
int type, int ifindex);
186186

net/core/rtnetlink.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,6 @@ void rtnl_register(int protocol, int msgtype,
265265
pr_err("Unable to register rtnetlink message handler, "
266266
"protocol = %d, message type = %d\n", protocol, msgtype);
267267
}
268-
EXPORT_SYMBOL_GPL(rtnl_register);
269268

270269
/**
271270
* rtnl_unregister - Unregister a rtnetlink message type

net/ipv6/addrconf.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6627,7 +6627,9 @@ int __init addrconf_init(void)
66276627
RTNL_FLAG_DOIT_UNLOCKED);
66286628
if (err < 0)
66296629
goto errout;
6630-
ipv6_addr_label_rtnl_register();
6630+
err = ipv6_addr_label_rtnl_register();
6631+
if (err < 0)
6632+
goto errout;
66316633

66326634
return 0;
66336635
errout:

net/ipv6/addrlabel.c

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -547,12 +547,22 @@ static int ip6addrlbl_get(struct sk_buff *in_skb, struct nlmsghdr *nlh,
547547
return err;
548548
}
549549

550-
void __init ipv6_addr_label_rtnl_register(void)
550+
int __init ipv6_addr_label_rtnl_register(void)
551551
{
552-
rtnl_register(PF_INET6, RTM_NEWADDRLABEL, ip6addrlbl_newdel,
553-
NULL, RTNL_FLAG_DOIT_UNLOCKED);
554-
rtnl_register(PF_INET6, RTM_DELADDRLABEL, ip6addrlbl_newdel,
555-
NULL, RTNL_FLAG_DOIT_UNLOCKED);
556-
rtnl_register(PF_INET6, RTM_GETADDRLABEL, ip6addrlbl_get,
557-
ip6addrlbl_dump, RTNL_FLAG_DOIT_UNLOCKED);
552+
int ret;
553+
554+
ret = rtnl_register_module(THIS_MODULE, PF_INET6, RTM_NEWADDRLABEL,
555+
ip6addrlbl_newdel,
556+
NULL, RTNL_FLAG_DOIT_UNLOCKED);
557+
if (ret < 0)
558+
return ret;
559+
ret = rtnl_register_module(THIS_MODULE, PF_INET6, RTM_DELADDRLABEL,
560+
ip6addrlbl_newdel,
561+
NULL, RTNL_FLAG_DOIT_UNLOCKED);
562+
if (ret < 0)
563+
return ret;
564+
ret = rtnl_register_module(THIS_MODULE, PF_INET6, RTM_GETADDRLABEL,
565+
ip6addrlbl_get,
566+
ip6addrlbl_dump, RTNL_FLAG_DOIT_UNLOCKED);
567+
return ret;
558568
}

net/ipv6/ip6mr.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1425,10 +1425,13 @@ int __init ip6_mr_init(void)
14251425
goto add_proto_fail;
14261426
}
14271427
#endif
1428-
rtnl_register(RTNL_FAMILY_IP6MR, RTM_GETROUTE, NULL,
1429-
ip6mr_rtm_dumproute, 0);
1430-
return 0;
1428+
err = rtnl_register_module(THIS_MODULE, RTNL_FAMILY_IP6MR, RTM_GETROUTE,
1429+
NULL, ip6mr_rtm_dumproute, 0);
1430+
if (err == 0)
1431+
return 0;
1432+
14311433
#ifdef CONFIG_IPV6_PIMSM_V2
1434+
inet6_del_protocol(&pim6_protocol, IPPROTO_PIM);
14321435
add_proto_fail:
14331436
unregister_netdevice_notifier(&ip6_mr_notifier);
14341437
#endif

0 commit comments

Comments
 (0)