From: Johannes Berg Date: Wed, 16 Jan 2008 20:47:40 +0000 (+0100) Subject: mac80211: fix RCU locking in __ieee80211_rx_handle_packet X-Git-Tag: v2.6.25-rc1~1162^2~62 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f99b751fca5b16bea53c0d6724935e1949350052;p=linux-2.6 mac80211: fix RCU locking in __ieee80211_rx_handle_packet 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 Signed-off-by: John W. Linville --- diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 465fce0f62..96b0faf40b 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -1730,7 +1730,6 @@ void __ieee80211_rx_handle_packet(struct ieee80211_hw *hw, struct sk_buff *skb, ieee80211_invoke_rx_handlers(local, local->rx_handlers, &rx, rx.sta); sta_info_put(sta); - rcu_read_unlock(); return; }