Skip to content

Commit

Permalink
netns xfrm: fixup xfrm6_tunnel error propagation
Browse files Browse the repository at this point in the history
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Alexey Dobriyan authored and David S. Miller committed Jan 28, 2010
1 parent ce96bc8 commit e924960
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions net/ipv6/xfrm6_tunnel.c
Original file line number Diff line number Diff line change
Expand Up @@ -353,13 +353,19 @@ static struct xfrm6_tunnel xfrm46_tunnel_handler = {

static int __init xfrm6_tunnel_init(void)
{
if (xfrm_register_type(&xfrm6_tunnel_type, AF_INET6) < 0)
int rv;

rv = xfrm_register_type(&xfrm6_tunnel_type, AF_INET6);
if (rv < 0)
goto err;
if (xfrm6_tunnel_register(&xfrm6_tunnel_handler, AF_INET6))
rv = xfrm6_tunnel_register(&xfrm6_tunnel_handler, AF_INET6);
if (rv < 0)
goto unreg;
if (xfrm6_tunnel_register(&xfrm46_tunnel_handler, AF_INET))
rv = xfrm6_tunnel_register(&xfrm46_tunnel_handler, AF_INET);
if (rv < 0)
goto dereg6;
if (xfrm6_tunnel_spi_init() < 0)
rv = xfrm6_tunnel_spi_init();
if (rv < 0)
goto dereg46;
return 0;

Expand All @@ -370,7 +376,7 @@ static int __init xfrm6_tunnel_init(void)
unreg:
xfrm_unregister_type(&xfrm6_tunnel_type, AF_INET6);
err:
return -EAGAIN;
return rv;
}

static void __exit xfrm6_tunnel_fini(void)
Expand Down

0 comments on commit e924960

Please sign in to comment.