ipv6: Fix inet6_init() cleanup order
authorVlad Yasevich <vyasevich@gmail.com>
Sat, 16 Nov 2013 20:17:24 +0000 (15:17 -0500)
committerDavid S. Miller <davem@davemloft.net>
Mon, 18 Nov 2013 20:38:46 +0000 (15:38 -0500)
Commit 6d0bfe22611602f36617bc7aa2ffa1bbb2f54c67
net: ipv6: Add IPv6 support to the ping socket

introduced a change in the cleanup logic of inet6_init and
has a bug in that ipv6_packet_cleanup() may not be called.
Fix the cleanup ordering.

CC: Hannes Frederic Sowa <hannes@stressinduktion.org>
CC: Lorenzo Colitti <lorenzo@google.com>
CC: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Vlad Yasevich <vyasevich@gmail.com>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/af_inet6.c

index 6468bda1f2b94c382fe7212135ed1245f71e221f..56ca35b30ddabfef8d4583aa0d132777a67d9c67 100644 (file)
@@ -958,10 +958,10 @@ out:
 
 #ifdef CONFIG_SYSCTL
 sysctl_fail:
-       ipv6_packet_cleanup();
+       pingv6_exit();
 #endif
 pingv6_fail:
-       pingv6_exit();
+       ipv6_packet_cleanup();
 ipv6_packet_fail:
        tcpv6_exit();
 tcpv6_fail: