sit: fix sit0 percpu double allocations
authorEric Dumazet <edumazet@google.com>
Tue, 3 Nov 2015 01:08:19 +0000 (17:08 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 3 Nov 2015 03:54:45 +0000 (22:54 -0500)
commit4ece9009774596ee3df0acba65a324b7ea79387c
tree640ee475b32807af8c52f1f5d6172c97f0aee3e9
parent8fa677d2706d325d71dab91bf6e6512c05214e37
sit: fix sit0 percpu double allocations

sit0 device allocates its percpu storage twice :
- One time in ipip6_tunnel_init()
- One time in ipip6_fb_tunnel_init()

Thus we leak 48 bytes per possible cpu per network namespace dismantle.

ipip6_fb_tunnel_init() can be much simpler and does not
return an error, and should be called after register_netdev()

Note that ipip6_tunnel_clone_6rd() also needs to be called
after register_netdev() (calling ipip6_tunnel_init())

Fixes: ebe084aafb7e ("sit: Use ipip6_tunnel_init as the ndo_init function.")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Cc: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/sit.c