Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 291480c0 authored by Daniel Lezcano's avatar Daniel Lezcano Committed by David S. Miller
Browse files

[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: default avatarDaniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 50dd7965
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -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


+4 −1
Original line number Original line Diff line number Diff line
@@ -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 @@ static int __init inet6_init(void)
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:
+7 −2
Original line number Original line Diff line number Diff line
@@ -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)