Thread (1 message) 1 message, 1 author, 2011-05-03

Re: A race in register_netdevice()

From: Stephen Hemminger <hidden>
Date: 2011-05-03 23:41:59
Also in: linux-wireless

Possibly related (same subject, not in this thread)

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help