[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20151124.171627.1039186928574279469.davem@redhat.com>
Date: Tue, 24 Nov 2015 17:16:27 -0500 (EST)
From: David Miller <davem@...hat.com>
To: razor@...ckwall.org
Cc: netdev@...r.kernel.org, yoshfuji@...ux-ipv6.org,
nikolay@...ulusnetworks.com
Subject: Re: [PATCH net] net: ipmr, ip6mr: fix vif/tunnel failure race
condition
From: Nikolay Aleksandrov <razor@...ckwall.org>
Date: Tue, 24 Nov 2015 17:09:30 +0100
> From: Nikolay Aleksandrov <nikolay@...ulusnetworks.com>
>
> Since (at least) commit b17a7c179dd3 ("[NET]: Do sysfs registration as
> part of register_netdevice."), netdev_run_todo() deals only with
> unregistration, so we don't need to do the rtnl_unlock/lock cycle to
> finish registration when failing pimreg or dvmrp device creation. In
> fact that opens a race condition where someone can delete the device
> while rtnl is unlocked because it's fully registered. The problem gets
> worse when netlink support is introduced as there are more points of entry
> that can cause it and it also makes reusing that code correctly impossible.
>
> Signed-off-by: Nikolay Aleksandrov <nikolay@...ulusnetworks.com>
> ---
> I was able to crash the kernel by artificially triggering this race just to
> confim it. I know it's very unlikely to hit the race in the real world, but
> the biggest advantage of the change is that the code can be re-used later
> when adding netlink support.
Applied, thank you.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists