aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/xfrm6_policy.c
diff options
context:
space:
mode:
authorDaniel Lezcano <dlezcano@fr.ibm.com>2007-12-07 03:42:11 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 17:56:45 -0500
commit0013cabab30ec55830ce63d34c0bdd887eb87644 (patch)
tree667338ce7d2e2b859f1a0fd8d268622da471fe08 /net/ipv6/xfrm6_policy.c
parentd63bddbe90c4fd924b2155ca92a879393d856170 (diff)
[IPV6]: Make xfrm6_init to return an error code.
The xfrm initialization function does not return any error code, so if there is an error, the caller can not be advise of that. This patch checks the return code of the different called functions in order to return a successful or failed initialization. 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>
Diffstat (limited to 'net/ipv6/xfrm6_policy.c')
-rw-r--r--net/ipv6/xfrm6_policy.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/net/ipv6/xfrm6_policy.c b/net/ipv6/xfrm6_policy.c
index 4d54951cea08..181cf91538f1 100644
--- a/net/ipv6/xfrm6_policy.c
+++ b/net/ipv6/xfrm6_policy.c
@@ -269,9 +269,9 @@ static struct xfrm_policy_afinfo xfrm6_policy_afinfo = {
269 .fill_dst = xfrm6_fill_dst, 269 .fill_dst = xfrm6_fill_dst,
270}; 270};
271 271
272static void __init xfrm6_policy_init(void) 272static int __init xfrm6_policy_init(void)
273{ 273{
274 xfrm_policy_register_afinfo(&xfrm6_policy_afinfo); 274 return xfrm_policy_register_afinfo(&xfrm6_policy_afinfo);
275} 275}
276 276
277static void xfrm6_policy_fini(void) 277static void xfrm6_policy_fini(void)
@@ -279,10 +279,22 @@ static void xfrm6_policy_fini(void)
279 xfrm_policy_unregister_afinfo(&xfrm6_policy_afinfo); 279 xfrm_policy_unregister_afinfo(&xfrm6_policy_afinfo);
280} 280}
281 281
282void __init xfrm6_init(void) 282int __init xfrm6_init(void)
283{ 283{
284 xfrm6_policy_init(); 284 int ret;
285 xfrm6_state_init(); 285
286 ret = xfrm6_policy_init();
287 if (ret)
288 goto out;
289
290 ret = xfrm6_state_init();
291 if (ret)
292 goto out_policy;
293out:
294 return ret;
295out_policy:
296 xfrm6_policy_fini();
297 goto out;
286} 298}
287 299
288void xfrm6_fini(void) 300void xfrm6_fini(void)