ipip, sit: copy parms.name after register_netdevice
authorTed Feng <artisdom@gmail.com>
Thu, 8 Dec 2011 00:46:21 +0000 (00:46 +0000)
committerRohan Somvanshi <rsomvanshi@nvidia.com>
Wed, 11 Jan 2012 16:56:38 +0000 (08:56 -0800)
commit676d665055baaa982f38ba8024cef5a7bdc1d435
treebaf6e786a204f21c72158d6167a4bd9121993f72
parentedd28463f5af7b775b32b1e8164c2c914620ff22
ipip, sit: copy parms.name after register_netdevice

commit 72b36015ba43a3cca5303f5534d2c3e1899eae29 upstream.

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

Signed-off-by: Ted Feng <artisdom@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

Change-Id: Id853ba9cde9afd951d9bc8a86c7e90dfed2ad60b
Reviewed-on: http://git-master/r/74156
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>
Tested-by: Varun Wadekar <vwadekar@nvidia.com>
net/ipv4/ipip.c
net/ipv6/sit.c