X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=net%2Fopenvswitch%2Fvport-geneve.c;h=5aaf3babfc3fa0bf70b8a72ebd95c40962dd6ea2;hb=09cb5b78af52208afb9f1b194c8a9154df4a4782;hp=1a1fcec8869593a8c99710e2021baa45ebfdedc8;hpb=78cfca32cac26201d362fe9d2bf6f3c11a9f4a3b;p=linux-2.6-block.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: