Re: 2.6.35-rc2-git1 - net/mac80211/sta_info.c:125 invoked rcu_dereference_check() without protection!

From: Miles Lane
Date: Tue Jun 08 2010 - 07:38:09 EST


On Tue, Jun 8, 2010 at 3:26 AM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote:
> On Mon, 2010-06-07 at 16:59 -0700, Paul E. McKenney wrote:
>> On Mon, Jun 07, 2010 at 02:25:44PM -0400, Miles Lane wrote:
>> > [   43.478812] [ INFO: suspicious rcu_dereference_check() usage. ]
>> > [   43.478815] ---------------------------------------------------
>> > [   43.478820] net/mac80211/sta_info.c:125 invoked
>> > rcu_dereference_check() without protection!
>> > [   43.478824]
>> > [   43.478824] other info that might help us debug this:
>> > [   43.478826]
>> > [   43.478829]
>> > [   43.478830] rcu_scheduler_active = 1, debug_locks = 1
>> > [   43.478834] no locks held by NetworkManager/4017.
>>
>> Hmmm...  Johannes's update has been merged, and it requires that callers
>> either be in an RCU read-side critical section or hold either the
>> ->sta_lock or the ->sta_mtx, and this thread does none of this.
>>
>> Johannes, any thoughts?
>>
>>                                                       Thanx, Paul
>>
>> > [   43.478837] stack backtrace:
>> > [   43.478842] Pid: 4017, comm: NetworkManager Not tainted 2.6.35-rc2-git1 #8
>> > [   43.478846] Call Trace:
>> > [   43.478849]  <IRQ>  [<ffffffff81064e9c>] lockdep_rcu_dereference+0x9d/0xa5
>> > [   43.478876]  [<ffffffffa010cb3c>] sta_info_get_bss+0x71/0x12d [mac80211]
>> > [   43.478889]  [<ffffffffa010cc0d>] ieee80211_find_sta+0x15/0x2f [mac80211]
>> > [   43.478902]  [<ffffffffa019ae16>] iwlagn_tx_queue_reclaim+0xe7/0x1bb [iwlagn]
>
> iwlwifi wasn't using rcu protection here -- already sent a patch fixing
> it. My mistake, I  think. Thanks for checking :)
>
> johannes
>
>

Yes, your patch works for me.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/