ipip, sit: copy parms.name after register_netdevice
authorTed Feng <artisdom@gmail.com>
Thu, 8 Dec 2011 00:46:21 +0000 (00:46 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 12 Dec 2011 23:50:51 +0000 (18:50 -0500)
commit72b36015ba43a3cca5303f5534d2c3e1899eae29
treef22cdff528a87b5b86bfc285c95dd40d5d55202e
parent4af04aba93f47699e7ac33e7cfd4da22550e6114
ipip, sit: copy parms.name after register_netdevice

Same fix as 731abb9cb2 for ipip and sit tunnel.
Commit 1c5cae815d removed an explicit call to dev_alloc_name in
ipip_tunnel_locate and ipip6_tunnel_locate, because register_netdevice
will now create a valid name, however the tunnel keeps a copy of the
name in the private parms structure. Fix this by copying the name back
after register_netdevice has successfully returned.

This shows up if you do a simple tunnel add, followed by a tunnel show:

$ sudo ip tunnel add mode ipip remote 10.2.20.211
$ ip tunnel
tunl0: ip/ip  remote any  local any  ttl inherit  nopmtudisc
tunl%d: ip/ip  remote 10.2.20.211  local any  ttl inherit
$ sudo ip tunnel add mode sit remote 10.2.20.212
$ ip tunnel
sit0: ipv6/ip  remote any  local any  ttl 64  nopmtudisc 6rd-prefix 2002::/16
sit%d: ioctl 89f8 failed: No such device
sit%d: ipv6/ip  remote 10.2.20.212  local any  ttl inherit

Cc: stable@vger.kernel.org
Signed-off-by: Ted Feng <artisdom@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ipip.c
net/ipv6/sit.c