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

Previous thread: 2.6.35-rc2-git1 - lib/idr.c:605 invoked rcu_dereference_check() without protection! by Miles Lane on Monday, June 7, 2010 - 11:23 am. (4 messages)

Next thread: [PATCH] Staging: dt3155: fix different address spaces noise in dt3155_drv.c by H Hartley Sweeten on Monday, June 7, 2010 - 11:25 am. (1 message)
From: Miles Lane
Date: Monday, June 7, 2010 - 11:25 am

[   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.
[   43.478836]
[   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]
[   43.478909]  [<ffffffff8106530b>] ? mark_lock+0x2d/0x262
[   43.478920]  [<ffffffffa019e270>] iwlagn_rx_reply_tx+0x4cd/0x58a [iwlagn]
[   43.478928]  [<ffffffff811ca313>] ? is_swiotlb_buffer+0x2e/0x3b
[   43.478937]  [<ffffffffa0192ec2>] iwl_rx_handle+0x161/0x2bf [iwlagn]
[   43.478946]  [<ffffffffa019370a>] iwl_irq_tasklet+0x2eb/0x408 [iwlagn]
[   43.478953]  [<ffffffff8103f892>] tasklet_action+0xa7/0x10f
[   43.478960]  [<ffffffff810404cf>] __do_softirq+0x148/0x25a
[   43.478966]  [<ffffffff8100314c>] call_softirq+0x1c/0x28
[   43.478972]  [<ffffffff81004d20>] do_softirq+0x38/0x80
[   43.478977]  [<ffffffff8103ffd0>] irq_exit+0x45/0x94
[   43.478983]  [<ffffffff81004465>] do_IRQ+0xad/0xc4
[   43.478989]  [<ffffffff813ca3d3>] ret_from_intr+0x0/0xf
[   43.478993]  <EOI>
--

From: Paul E. McKenney
Date: Monday, June 7, 2010 - 4:59 pm

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?

--

From: Johannes Berg
Date: Tuesday, June 8, 2010 - 12:26 am

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.
--

From: Paul E. McKenney
Date: Tuesday, June 8, 2010 - 9:26 am

Thank you both!!!

							Thanx, Paul
--

Previous thread: 2.6.35-rc2-git1 - lib/idr.c:605 invoked rcu_dereference_check() without protection! by Miles Lane on Monday, June 7, 2010 - 11:23 am. (4 messages)

Next thread: [PATCH] Staging: dt3155: fix different address spaces noise in dt3155_drv.c by H Hartley Sweeten on Monday, June 7, 2010 - 11:25 am. (1 message)