[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <574C0697.6060506@6wind.com>
Date: Mon, 30 May 2016 11:23:35 +0200
From: Nicolas Dichtel <nicolas.dichtel@...nd.com>
To: Vincent Bernat <vincent@...nat.im>,
"David S. Miller" <davem@...emloft.net>,
Vijay Pandurangan <vijayp@...ayp.ca>,
Paolo Abeni <pabeni@...hat.com>, netdev@...r.kernel.org
Subject: Re: [PATCH] veth: delay peer link configuration after interfaces are
tied
Le 29/05/2016 13:17, Vincent Bernat a écrit :
[snip]
> diff --git a/drivers/net/veth.c b/drivers/net/veth.c
> index f37a6e61d4ad..9726c4dbf659 100644
> --- a/drivers/net/veth.c
> +++ b/drivers/net/veth.c
> @@ -432,10 +432,6 @@ static int veth_newlink(struct net *src_net, struct net_device *dev,
>
> netif_carrier_off(peer);
>
> - err = rtnl_configure_link(peer, ifmp);
> - if (err < 0)
> - goto err_configure_peer;
> -
> /*
> * register dev last
> *
> @@ -466,6 +462,10 @@ static int veth_newlink(struct net *src_net, struct net_device *dev,
>
> priv = netdev_priv(peer);
> rcu_assign_pointer(priv->peer, dev);
> +
> + err = rtnl_configure_link(peer, ifmp);
> + if (err < 0)
> + goto err_configure_peer;
You should fix the error path. 'unregister_netdevice(dev)' is missing.
Powered by blists - more mailing lists