Re: [PATCH 3/5 (resend)] veth: Allow to create peer link with given ifindex
From: Ben Hutchings <hidden>
Date: 2012-08-07 18:36:17
On Tue, 2012-08-07 at 15:02 +0400, Pavel Emelyanov wrote:
quoted hunk ↗ jump to hunk
The ifinfomsg is in there (thanks kaber@ for foreseeing this long time ago), so take the given ifidex and register netdev with it. Signed-off-by: Pavel Emelyanov <redacted> --- drivers/net/veth.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)diff --git a/drivers/net/veth.c b/drivers/net/veth.c index 5852361..496c026 100644 --- a/drivers/net/veth.c +++ b/drivers/net/veth.c@@ -348,6 +348,9 @@ static int veth_newlink(struct net *src_net, struct net_device *dev, if (tbp[IFLA_ADDRESS] == NULL) eth_hw_addr_random(peer); + if (ifmp) + peer->ifindex = ifmp->ifi_index; + err = register_netdevice(peer); put_net(net); net = NULL;
Is this safe, given that this code path previously ignored ifmp->ifi_index? Userland could be passing in garbage and may now fail occasionally because the value clashes with an existing interface. Ben. -- Ben Hutchings, Staff Engineer, Solarflare Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.