Re: [patch 1/6] ipv6 - make fib6_init to return an error code

2007-12-07 Thread David Miller
From: Daniel Lezcano <[EMAIL PROTECTED]>
Date: Thu, 06 Dec 2007 14:53:30 +0100

> 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 <[EMAIL PROTECTED]>
> Acked-by: Benjamin Thery <[EMAIL PROTECTED]>

Applied.

Please format your header subject lines as:

[patch N/M] [IPV6]: Blah blah blah.

Since this is what I edit them into anyways.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[patch 1/6] ipv6 - make fib6_init to return an error code

2007-12-06 Thread Daniel Lezcano
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 <[EMAIL PROTECTED]>
Acked-by: Benjamin Thery <[EMAIL PROTECTED]>
---
 include/net/ip6_fib.h |2 +-
 net/ipv6/ip6_fib.c|   14 +++---
 2 files changed, 12 insertions(+), 4 deletions(-)

Index: net-2.6.25/include/net/ip6_fib.h
===
--- net-2.6.25.orig/include/net/ip6_fib.h
+++ net-2.6.25/include/net/ip6_fib.h
@@ -224,7 +224,7 @@ extern void fib6_run_gc(unsigned long 
 
 extern voidfib6_gc_cleanup(void);
 
-extern voidfib6_init(void);
+extern int fib6_init(void);
 
 extern voidfib6_rules_init(void);
 extern voidfib6_rules_cleanup(void);
Index: net-2.6.25/net/ipv6/ip6_fib.c
===
--- net-2.6.25.orig/net/ipv6/ip6_fib.c
+++ net-2.6.25/net/ipv6/ip6_fib.c
@@ -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)

-- 
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html