Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1a31cc86 authored by Gao Feng's avatar Gao Feng Committed by David S. Miller
Browse files

driver: ipvlan: Unlink the upper dev when ipvlan_link_new failed



When netdev_upper_dev_unlink failed in ipvlan_link_new, need to
unlink the ipvlan dev with upper dev.

Signed-off-by: default avatarGao Feng <fgao@ikuai8.com>
Acked-by: default avatarMahesh Bandewar <maheshb@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 93a97c50
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -546,13 +546,15 @@ static int ipvlan_link_new(struct net *src_net, struct net_device *dev,
	}
	err = ipvlan_set_port_mode(port, mode);
	if (err) {
		goto unregister_netdev;
		goto unlink_netdev;
	}

	list_add_tail_rcu(&ipvlan->pnode, &port->ipvlans);
	netif_stacked_transfer_operstate(phy_dev, dev);
	return 0;

unlink_netdev:
	netdev_upper_dev_unlink(phy_dev, dev);
unregister_netdev:
	unregister_netdevice(dev);
destroy_ipvlan_port: