Bug 964363

Summary: regression suspicious RCU usage net/mac80211/rate.c:691 suspicious rcu_dereference_check() usage
Product: [Fedora] Fedora Reporter: Chris Murphy <bugzilla>
Component: kernelAssignee: fedora-kernel-wireless
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: gansalmon, itamar, jonathan, kernel-maint, madhu.chinakonda, sgruszka
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-06-03 08:24:40 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
dmesg none

Description Chris Murphy 2013-05-18 04:24:11 UTC
Created attachment 749541 [details]
dmesg

Description of problem:


Version-Release number of selected component (if applicable):
3.10.0-0.rc1.git6.1.fc20.x86_64

How reproducible:
Every boot, very early on.

Steps to Reproduce:
Boot with this kernel and with b43-fwcutter extracted firmware from broadcom-wl-5.100.138.tar.bz2.
  
Actual results:
[   53.639773] ===============================
[   53.639791] [ INFO: suspicious RCU usage. ]
[   53.639812] 3.10.0-0.rc1.git6.1.fc20.x86_64 #1 Not tainted
[   53.639833] -------------------------------
[   53.639853] net/mac80211/rate.c:691 suspicious rcu_dereference_check() usage!


Expected results:


Additional info:
Doesn't occur with 3.10.0-0.rc1.git5.1.fc20.x86_64

Comment 1 Josh Boyer 2013-05-20 13:15:28 UTC
Odd that it doesn't occur in rc1-git5.  There are no changes in the network area between -git5 and -git6.

[   53.639773] ===============================
[   53.639791] [ INFO: suspicious RCU usage. ]
[   53.639812] 3.10.0-0.rc1.git6.1.fc20.x86_64 #1 Not tainted
[   53.639833] -------------------------------
[   53.639853] net/mac80211/rate.c:691 suspicious rcu_dereference_check() usage!
[   53.639877] 
other info that might help us debug this:

[   53.639908] 
rcu_scheduler_active = 1, debug_locks = 0
[   53.639936] 4 locks held by kworker/u4:5/54:
[   53.639955]  #0:  (wiphy_name(local->hw.wiphy)){.+.+.+}, at: [<ffffffff8108d215>] process_one_work+0x1a5/0x6c0
[   53.640066]  #1:  ((&sdata->work)){+.+.+.}, at: [<ffffffff8108d215>] process_one_work+0x1a5/0x6c0
[   53.640132]  #2:  (&ifmgd->mtx){+.+.+.}, at: [<ffffffffa05b2015>] ieee80211_sta_rx_queued_mgmt+0x55/0x7c0 [mac80211]
[   53.640257]  #3:  (&local->sta_mtx){+.+.+.}, at: [<ffffffffa05cd6d9>] ieee80211_assoc_success+0x1b3/0x9ba [mac80211]
[   53.640361] 
stack backtrace:
[   53.640387] CPU: 1 PID: 54 Comm: kworker/u4:5 Not tainted 3.10.0-0.rc1.git6.1.fc20.x86_64 #1
[   53.640414] Hardware name: Apple Inc. MacBookPro4,1/Mac-F42C89C8, BIOS    MBP41.88Z.00C1.B03.0802271651 02/27/08
[   53.640477] Workqueue: phy0 ieee80211_iface_work [mac80211]
[   53.640505]  0000000000000001 ffff8801343a5740 ffffffff81715f5b ffff8801343a5770
[   53.640559]  ffffffff810d7ba7 ffff8801169bdfb0 0000000000000000 ffff8801195e73e8
[   53.640610]  000000000000000c ffff8801343a5798 ffffffffa05798e1 ffff88011687a148
[   53.640664] Call Trace:
[   53.640693]  [<ffffffff81715f5b>] dump_stack+0x19/0x1b
[   53.640721]  [<ffffffff810d7ba7>] lockdep_rcu_suspicious+0xe7/0x120
[   53.640780]  [<ffffffffa05798e1>] rate_control_set_rates+0x81/0xb0 [mac80211]
[   53.640850]  [<ffffffffa05ca41e>] minstrel_update_rates.isra.4+0xee/0x140 [mac80211]
[   53.640918]  [<ffffffffa05cabc6>] minstrel_rate_init+0x3c6/0x480 [mac80211]
[   53.640989]  [<ffffffffa05cc61e>] minstrel_ht_update_caps+0x29e/0x400 [mac80211]
[   53.641946]  [<ffffffffa05cc79e>] minstrel_ht_rate_init+0xe/0x10 [mac80211]
[   53.642897]  [<ffffffffa05cdd9e>] ieee80211_assoc_success+0x878/0x9ba [mac80211]
[   53.643846]  [<ffffffffa05b16b1>] ieee80211_rx_mgmt_assoc_resp+0x171/0x280 [mac80211]
[   53.644456]  [<ffffffffa05b2426>] ieee80211_sta_rx_queued_mgmt+0x466/0x7c0 [mac80211]
[   53.644749]  [<ffffffff8101fcf5>] ? native_sched_clock+0x15/0x80
[   53.645419]  [<ffffffff8101fd69>] ? sched_clock+0x9/0x10
[   53.646136]  [<ffffffff8101fcf5>] ? native_sched_clock+0x15/0x80
[   53.646833]  [<ffffffff8101fd69>] ? sched_clock+0x9/0x10
[   53.647561]  [<ffffffff810ac97d>] ? sched_clock_local+0x1d/0x80
[   53.648242]  [<ffffffff810d93fb>] ? mark_held_locks+0xbb/0x140
[   53.648907]  [<ffffffff8171db46>] ? _raw_spin_unlock_irqrestore+0x36/0x70
[   53.649619]  [<ffffffff810d957d>] ? trace_hardirqs_on_caller+0xfd/0x1c0
[   53.650321]  [<ffffffff810d964d>] ? trace_hardirqs_on+0xd/0x10
[   53.651002]  [<ffffffffa057428c>] ieee80211_iface_work+0x25c/0x360 [mac80211]
[   53.651708]  [<ffffffff8108d281>] process_one_work+0x211/0x6c0
[   53.652403]  [<ffffffff8108d215>] ? process_one_work+0x1a5/0x6c0
[   53.653102]  [<ffffffff8108d84d>] worker_thread+0x11d/0x3a0
[   53.653786]  [<ffffffff8108d730>] ? process_one_work+0x6c0/0x6c0
[   53.654493]  [<ffffffff81095ced>] kthread+0xed/0x100
[   53.655167]  [<ffffffff81095c00>] ? insert_kthread_work+0x80/0x80
[   53.655814]  [<ffffffff817278ec>] ret_from_fork+0x7c/0xb0
[   53.656499]  [<ffffffff81095c00>] ? insert_kthread_work+0x80/0x80

Comment 2 Fedora Admin XMLRPC Client 2013-05-20 16:33:05 UTC
The Fedora 20 component was created in error. We only create new Fedora versions when we branch a new release. These bugs are all being moved to rawhide. 

Please retarget them to 19 if they also apply to the Fedora 19 branched release. 

Thanks.

Comment 3 Stanislaw Gruszka 2013-05-21 08:33:08 UTC
Fix for this is currently on net tree:
https://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=f6b3d85f7f6d66f890862d763b2ed092c5dd4322
Probably it will be commited in -rc2 or at the latest in -rc3 .

Comment 4 Josh Boyer 2013-05-21 12:41:29 UTC
Missed -rc2, but we'll pick it up in a git snapshot as soon as it hits Linus' tree.  Thanks Stanislaw.

Comment 5 Chris Murphy 2013-06-02 20:14:01 UTC
Appears to be fixed in 3.10.0-0.rc3.git0.1.fc20.x86_64.debug