[PATCH] mac80211: fix RCU locking in __ieee80211_rx_handle_packet

STALE6771d

3 messages, 2 authors, 2008-01-17 · open the first message on its own page

[PATCH] mac80211: fix RCU locking in __ieee80211_rx_handle_packet

From: Johannes Berg <johannes@sipsolutions.net>
Date: 2008-01-17 15:09:58

Commit c7a51bda ("mac80211: restructure __ieee80211_rx") extracted
__ieee80211_rx_handle_packet out of __ieee80211_rx and hence changed
the locking rules for __ieee80211_rx_handle_packet(), it is now
invoked under RCU lock. There is, however, one instance left where
it contains an rcu_read_unlock() in an error path, which is a bug.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
---
sparse actually detected this.... oh well

 net/mac80211/rx.c |    1 -
 1 file changed, 1 deletion(-)
--- everything.orig/net/mac80211/rx.c	2008-01-16 21:15:17.532295846 +0100
+++ everything/net/mac80211/rx.c	2008-01-16 21:15:44.002272517 +0100
@@ -1730,7 +1730,6 @@ void __ieee80211_rx_handle_packet(struct
 		ieee80211_invoke_rx_handlers(local, local->rx_handlers, &rx,
 					     rx.sta);
 		sta_info_put(sta);
-		rcu_read_unlock();
 		return;
 	}
 

Re: [PATCH] mac80211: fix RCU locking in __ieee80211_rx_handle_packet

From: Ron Rindjunsky <hidden>
Date: 2008-01-17 15:32:31

sparse actually detected this.... oh well
Arrrr... i did the re-structuring of Rx flow and forgot to sparse.
I'll issue a patch to clean up the warnings.

Re: [PATCH] mac80211: fix RCU locking in __ieee80211_rx_handle_packet

From: Johannes Berg <johannes@sipsolutions.net>
Date: 2008-01-17 15:36:36

On Thu, 2008-01-17 at 17:32 +0200, Ron Rindjunsky wrote:
quoted
sparse actually detected this.... oh well
Arrrr... i did the re-structuring of Rx flow and forgot to sparse.
I'll issue a patch to clean up the warnings.
No worries, the rest is just harmless missing "static" keywords. I
wonder though, should we get rid of that special case completely? Jiri
intended this as an 'optimisation' but since we rarely even hit the case
(I had to play with monitor interfaces *and* AP mode to hit it!!) it
probably hurts performance more by the extra branches and all that. And
it makes it harder to verify correctness...

johannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help