ip6_vti.c (188933ac139a6f8ab06cad369bd0200af947b00d) | ip6_vti.c (63159f29be1df7f93563a8a0f78c5e65fc844ed6) |
---|---|
1/* 2 * IPv6 virtual tunneling interface 3 * 4 * Copyright (C) 2013 secunet Security Networks AG 5 * 6 * Author: 7 * Steffen Klassert <steffen.klassert@secunet.com> 8 * --- 204 unchanged lines hidden (view full) --- 213 int err; 214 215 if (p->name[0]) 216 strlcpy(name, p->name, IFNAMSIZ); 217 else 218 sprintf(name, "ip6_vti%%d"); 219 220 dev = alloc_netdev(sizeof(*t), name, NET_NAME_UNKNOWN, vti6_dev_setup); | 1/* 2 * IPv6 virtual tunneling interface 3 * 4 * Copyright (C) 2013 secunet Security Networks AG 5 * 6 * Author: 7 * Steffen Klassert <steffen.klassert@secunet.com> 8 * --- 204 unchanged lines hidden (view full) --- 213 int err; 214 215 if (p->name[0]) 216 strlcpy(name, p->name, IFNAMSIZ); 217 else 218 sprintf(name, "ip6_vti%%d"); 219 220 dev = alloc_netdev(sizeof(*t), name, NET_NAME_UNKNOWN, vti6_dev_setup); |
221 if (dev == NULL) | 221 if (!dev) |
222 goto failed; 223 224 dev_net_set(dev, net); 225 226 t = netdev_priv(dev); 227 t->parms = *p; 228 t->net = dev_net(dev); 229 --- 481 unchanged lines hidden (view full) --- 711 err = -EFAULT; 712 break; 713 } 714 vti6_parm_from_user(&p1, &p); 715 t = vti6_locate(net, &p1, 0); 716 } else { 717 memset(&p, 0, sizeof(p)); 718 } | 222 goto failed; 223 224 dev_net_set(dev, net); 225 226 t = netdev_priv(dev); 227 t->parms = *p; 228 t->net = dev_net(dev); 229 --- 481 unchanged lines hidden (view full) --- 711 err = -EFAULT; 712 break; 713 } 714 vti6_parm_from_user(&p1, &p); 715 t = vti6_locate(net, &p1, 0); 716 } else { 717 memset(&p, 0, sizeof(p)); 718 } |
719 if (t == NULL) | 719 if (!t) |
720 t = netdev_priv(dev); 721 vti6_parm_to_user(&p, &t->parms); 722 if (copy_to_user(ifr->ifr_ifru.ifru_data, &p, sizeof(p))) 723 err = -EFAULT; 724 break; 725 case SIOCADDTUNNEL: 726 case SIOCCHGTUNNEL: 727 err = -EPERM; --- 34 unchanged lines hidden (view full) --- 762 763 if (dev == ip6n->fb_tnl_dev) { 764 err = -EFAULT; 765 if (copy_from_user(&p, ifr->ifr_ifru.ifru_data, sizeof(p))) 766 break; 767 err = -ENOENT; 768 vti6_parm_from_user(&p1, &p); 769 t = vti6_locate(net, &p1, 0); | 720 t = netdev_priv(dev); 721 vti6_parm_to_user(&p, &t->parms); 722 if (copy_to_user(ifr->ifr_ifru.ifru_data, &p, sizeof(p))) 723 err = -EFAULT; 724 break; 725 case SIOCADDTUNNEL: 726 case SIOCCHGTUNNEL: 727 err = -EPERM; --- 34 unchanged lines hidden (view full) --- 762 763 if (dev == ip6n->fb_tnl_dev) { 764 err = -EFAULT; 765 if (copy_from_user(&p, ifr->ifr_ifru.ifru_data, sizeof(p))) 766 break; 767 err = -ENOENT; 768 vti6_parm_from_user(&p1, &p); 769 t = vti6_locate(net, &p1, 0); |
770 if (t == NULL) | 770 if (!t) |
771 break; 772 err = -EPERM; 773 if (t->dev == ip6n->fb_tnl_dev) 774 break; 775 dev = t->dev; 776 } 777 err = 0; 778 unregister_netdevice(dev); --- 401 unchanged lines hidden --- | 771 break; 772 err = -EPERM; 773 if (t->dev == ip6n->fb_tnl_dev) 774 break; 775 dev = t->dev; 776 } 777 err = 0; 778 unregister_netdevice(dev); --- 401 unchanged lines hidden --- |