mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-11 15:40:50 +00:00
[NETNS][IPV6]: Make ipv6_sysctl_register to return a value.
This patch makes the function ipv6_sysctl_register to return a value. The af_inet6 init function is now able to handle an error and catch it from the initialization of the sysctl. Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
50dd79653e
commit
291480c09a
@ -622,7 +622,7 @@ static inline int snmp6_unregister_dev(struct inet6_dev *idev)
|
|||||||
extern ctl_table ipv6_route_table[];
|
extern ctl_table ipv6_route_table[];
|
||||||
extern ctl_table ipv6_icmp_table[];
|
extern ctl_table ipv6_icmp_table[];
|
||||||
|
|
||||||
extern void ipv6_sysctl_register(void);
|
extern int ipv6_sysctl_register(void);
|
||||||
extern void ipv6_sysctl_unregister(void);
|
extern void ipv6_sysctl_unregister(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -783,7 +783,9 @@ static int __init inet6_init(void)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef CONFIG_SYSCTL
|
#ifdef CONFIG_SYSCTL
|
||||||
ipv6_sysctl_register();
|
err = ipv6_sysctl_register();
|
||||||
|
if (err)
|
||||||
|
goto sysctl_fail;
|
||||||
#endif
|
#endif
|
||||||
err = icmpv6_init(&inet6_family_ops);
|
err = icmpv6_init(&inet6_family_ops);
|
||||||
if (err)
|
if (err)
|
||||||
@ -897,6 +899,7 @@ ndisc_fail:
|
|||||||
icmp_fail:
|
icmp_fail:
|
||||||
#ifdef CONFIG_SYSCTL
|
#ifdef CONFIG_SYSCTL
|
||||||
ipv6_sysctl_unregister();
|
ipv6_sysctl_unregister();
|
||||||
|
sysctl_fail:
|
||||||
#endif
|
#endif
|
||||||
cleanup_ipv6_mibs();
|
cleanup_ipv6_mibs();
|
||||||
out_unregister_sock:
|
out_unregister_sock:
|
||||||
|
@ -91,10 +91,15 @@ EXPORT_SYMBOL_GPL(net_ipv6_ctl_path);
|
|||||||
|
|
||||||
static struct ctl_table_header *ipv6_sysctl_header;
|
static struct ctl_table_header *ipv6_sysctl_header;
|
||||||
|
|
||||||
void ipv6_sysctl_register(void)
|
int ipv6_sysctl_register(void)
|
||||||
{
|
{
|
||||||
ipv6_sysctl_header = register_sysctl_paths(net_ipv6_ctl_path,
|
ipv6_sysctl_header = register_sysctl_paths(net_ipv6_ctl_path,
|
||||||
ipv6_table);
|
ipv6_table);
|
||||||
|
if (!ipv6_sysctl_header)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ipv6_sysctl_unregister(void)
|
void ipv6_sysctl_unregister(void)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user