[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20190729.110807.1476818178420042682.davem@davemloft.net>
Date: Mon, 29 Jul 2019 11:08:07 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: jiri@...nulli.us
Cc: netdev@...r.kernel.org, xemul@...tuozzo.com, edumazet@...gle.com,
pabeni@...hat.com, idosch@...lanox.com, petrm@...lanox.com,
sd@...asysnail.net, f.fainelli@...il.com,
stephen@...workplumber.org, mlxsw@...lanox.com, jiri@...lanox.com
Subject: Re: [patch net] net: fix ifindex collision during namespace removal
From: Jiri Pirko <jiri@...nulli.us>
Date: Sun, 28 Jul 2019 14:56:36 +0200
> From: Jiri Pirko <jiri@...lanox.com>
>
> Commit aca51397d014 ("netns: Fix arbitrary net_device-s corruptions
> on net_ns stop.") introduced a possibility to hit a BUG in case device
> is returning back to init_net and two following conditions are met:
> 1) dev->ifindex value is used in a name of another "dev%d"
> device in init_net.
> 2) dev->name is used by another device in init_net.
>
> Under real life circumstances this is hard to get. Therefore this has
> been present happily for over 10 years. To reproduce:
...
> Fix this by checking if a device with the same name exists in init_net
> and fallback to original code - dev%d to allocate name - in case it does.
>
> This was found using syzkaller.
>
> Fixes: aca51397d014 ("netns: Fix arbitrary net_device-s corruptions on net_ns stop.")
> Signed-off-by: Jiri Pirko <jiri@...lanox.com>
Very interesting :)
Applied and queued up for -stable, thanks.
Powered by blists - more mailing lists