Skip to content

Commit

Permalink
[IPV6]: Make fib6_init to return an error code.
Browse files Browse the repository at this point in the history
If there is an error in the initialization function, nothing is
followed up to the caller. So I add a return value to be set for the
init function.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Acked-by: Benjamin Thery <benjamin.thery@bull.net>
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 5a3e55d commit d63bddb
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
2 changes: 1 addition & 1 deletion include/net/ip6_fib.h
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ extern void fib6_run_gc(unsigned long dummy);

extern void fib6_gc_cleanup(void);

extern void fib6_init(void);
extern int fib6_init(void);

extern void fib6_rules_init(void);
extern void fib6_rules_cleanup(void);
Expand Down
14 changes: 11 additions & 3 deletions net/ipv6/ip6_fib.c
Original file line number Diff line number Diff line change
Expand Up @@ -1473,16 +1473,24 @@ void fib6_run_gc(unsigned long dummy)
spin_unlock_bh(&fib6_gc_lock);
}

void __init fib6_init(void)
int __init fib6_init(void)
{
int ret;
fib6_node_kmem = kmem_cache_create("fib6_nodes",
sizeof(struct fib6_node),
0, SLAB_HWCACHE_ALIGN|SLAB_PANIC,
NULL);

fib6_tables_init();

__rtnl_register(PF_INET6, RTM_GETROUTE, NULL, inet6_dump_fib);
ret = __rtnl_register(PF_INET6, RTM_GETROUTE, NULL, inet6_dump_fib);
if (ret)
goto out_kmem_cache_create;
out:
return ret;

out_kmem_cache_create:
kmem_cache_destroy(fib6_node_kmem);
goto out;
}

void fib6_gc_cleanup(void)
Expand Down

0 comments on commit d63bddb

Please sign in to comment.