Skip to content

Commit 1a31cc8

Browse files
gfreewinddavem330
authored andcommitted
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: Gao Feng <fgao@ikuai8.com> Acked-by: Mahesh Bandewar <maheshb@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 93a97c5 commit 1a31cc8

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

drivers/net/ipvlan/ipvlan_main.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -546,13 +546,15 @@ static int ipvlan_link_new(struct net *src_net, struct net_device *dev,
546546
}
547547
err = ipvlan_set_port_mode(port, mode);
548548
if (err) {
549-
goto unregister_netdev;
549+
goto unlink_netdev;
550550
}
551551

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

556+
unlink_netdev:
557+
netdev_upper_dev_unlink(phy_dev, dev);
556558
unregister_netdev:
557559
unregister_netdevice(dev);
558560
destroy_ipvlan_port:

0 commit comments

Comments
 (0)