X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=net%2Fopenvswitch%2Fvport-geneve.c;h=5aaf3babfc3fa0bf70b8a72ebd95c40962dd6ea2;hb=30bffd1b44fcf6e0e1720b62c4c2011c5af5e884;hp=1a1fcec8869593a8c99710e2021baa45ebfdedc8;hpb=fa81e66ec8648f62e96e95e53db2ea95a4b57b26;p=cascardo%2Flinux.git diff --git a/net/openvswitch/vport-geneve.c b/net/openvswitch/vport-geneve.c index 1a1fcec88695..5aaf3babfc3f 100644 --- a/net/openvswitch/vport-geneve.c +++ b/net/openvswitch/vport-geneve.c @@ -93,7 +93,14 @@ static struct vport *geneve_tnl_create(const struct vport_parms *parms) return ERR_CAST(dev); } - dev_change_flags(dev, dev->flags | IFF_UP); + err = dev_change_flags(dev, dev->flags | IFF_UP); + if (err < 0) { + rtnl_delete_link(dev); + rtnl_unlock(); + ovs_vport_free(vport); + goto error; + } + rtnl_unlock(); return vport; error: