Re: A race in register_netdevice()
From: Stephen Hemminger <hidden>
Date: 2011-05-03 23:41:59
Also in:
linux-wireless
On Wed, 04 May 2011 02:18:11 +0300 Kalle Valo [off-list ref] wrote:
Hi Stephen, Stephen Hemminger [off-list ref] writes:quoted
On Fri, 29 Apr 2011 01:36:37 +0300 Kalle Valo [off-list ref] wrote:quoted
there seems to be a race in register_netdevice(), which is reported here: https://bugzilla.kernel.org/show_bug.cgi?id=15606 This is visible at least with flimflam and ath6kl. Basically what happens is this: Apr 29 00:21:35 roska flimflamd[2598]: src/udev.c:add_net_device() Apr 29 00:21:35 roska flimflamd[2598]: connman_inet_ifname: SIOCGIFNAME(index 4): No such device Apr 29 00:21:45 roska flimflamd[2598]: src/rtnl.c:rtnl_message() buf 0xbfefda3c len 1004 Apr 29 00:21:45 roska flimflamd[2598]: src/rtnl.c:rtnl_message() NEWLINK len 1004 type 16 flags 0x0000 seq 0[...]quoted
quoted
I have confirmed that both of these patches fix the issue. Now I'm wondering which one is the best way forward. Or is there a better way to fix this?I see no problem with moving this. SIOCGIFNAME should not need to hold rtnl.I'm having difficulties of fixing the race and exploring other options. Is there any particular issue why SIOCGIFNAME should not take rtnl?
None really, but the answer given by SIOCGIFNAME is going to race anyway. I.e if ioctl returns a value, by the time user space sees it the result may have changed. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html