Skip to content

Commit

Permalink
[NETNS][IPV6]: Make ipv6_sysctl_register to return a value.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Daniel Lezcano authored and David S. Miller committed Jan 28, 2008
1 parent 50dd796 commit 291480c
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 4 deletions.
2 changes: 1 addition & 1 deletion include/net/ipv6.h
Original file line number Diff line number Diff line change
Expand Up @@ -622,7 +622,7 @@ static inline int snmp6_unregister_dev(struct inet6_dev *idev)
extern ctl_table ipv6_route_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);
#endif

Expand Down
5 changes: 4 additions & 1 deletion net/ipv6/af_inet6.c
Original file line number Diff line number Diff line change
Expand Up @@ -783,7 +783,9 @@ static int __init inet6_init(void)
*/

#ifdef CONFIG_SYSCTL
ipv6_sysctl_register();
err = ipv6_sysctl_register();
if (err)
goto sysctl_fail;
#endif
err = icmpv6_init(&inet6_family_ops);
if (err)
Expand Down Expand Up @@ -897,6 +899,7 @@ static int __init inet6_init(void)
icmp_fail:
#ifdef CONFIG_SYSCTL
ipv6_sysctl_unregister();
sysctl_fail:
#endif
cleanup_ipv6_mibs();
out_unregister_sock:
Expand Down
9 changes: 7 additions & 2 deletions net/ipv6/sysctl_net_ipv6.c
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,15 @@ EXPORT_SYMBOL_GPL(net_ipv6_ctl_path);

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_table);
ipv6_table);
if (!ipv6_sysctl_header)
return -ENOMEM;

return 0;

}

void ipv6_sysctl_unregister(void)
Expand Down

0 comments on commit 291480c

Please sign in to comment.