[IPV6]: Make fib6_init to return an error code.
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>
This commit is contained in:
committed by
David S. Miller
parent
5a3e55d68e
commit
d63bddbe90
@@ -224,7 +224,7 @@ extern void fib6_run_gc(unsigned long dummy);
|
|||||||
|
|
||||||
extern void fib6_gc_cleanup(void);
|
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_init(void);
|
||||||
extern void fib6_rules_cleanup(void);
|
extern void fib6_rules_cleanup(void);
|
||||||
|
@@ -1473,16 +1473,24 @@ void fib6_run_gc(unsigned long dummy)
|
|||||||
spin_unlock_bh(&fib6_gc_lock);
|
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",
|
fib6_node_kmem = kmem_cache_create("fib6_nodes",
|
||||||
sizeof(struct fib6_node),
|
sizeof(struct fib6_node),
|
||||||
0, SLAB_HWCACHE_ALIGN|SLAB_PANIC,
|
0, SLAB_HWCACHE_ALIGN|SLAB_PANIC,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
fib6_tables_init();
|
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)
|
void fib6_gc_cleanup(void)
|
||||||
|
Reference in New Issue
Block a user