From: Nikolay Aleksandrov <ra...@blackwall.org> Date: Tue, 24 Nov 2015 17:09:30 +0100
> From: Nikolay Aleksandrov <niko...@cumulusnetworks.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 <niko...@cumulusnetworks.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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html