Bug 743707

Summary: infiniband: INFO: suspicious rcu_dereference_check() usage
Product: [Fedora] Fedora Reporter: Jay Fenlason <fenlason>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: rawhideCC: gansalmon, itamar, jfeeney, jonathan, kernel-maint, madhu.chinakonda
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-12-06 16:54:32 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Jay Fenlason 2011-10-05 19:11:29 UTC
Description of problem:
I was trying out my QDR Infiniband hardware when this showed up on my console

 709.600148] ===================================================
[  709.600331] [ INFO: suspicious rcu_dereference_check() usage. ]
[  709.600434] ---------------------------------------------------
[  709.600538] include/net/dst.h:91 invoked rcu_dereference_check() without protection!
[  709.600674] 
[  709.600675] other info that might help us debug this:
[  709.600676] 
[  709.600939] 
[  709.600940] rcu_scheduler_active = 1, debug_locks = 0
[  709.601120] 4 locks held by kworker/u:5/115:
[  709.601211]  #0:  ((name)){.+.+.+}, at: [<ffffffff81075b25>] process_one_work+0x14d/0x3e7
[  709.601558]  #1:  ((&port_priv->work)){+.+.+.}, at: [<ffffffff81075b25>] process_one_work+0x14d/0x3e7
[  709.601972]  #2:  (rcu_read_lock_bh){.+....}, at: [<ffffffff81418e24>] dev_queue_xmit+0x0/0x618
[  709.602336]  #3:  (_xmit_INFINIBAND#2){+.-...}, at: [<ffffffff814310d6>] sch_direct_xmit+0x4e/0x14e
[  709.602766] 
[  709.602767] stack backtrace:
[  709.602968] Pid: 115, comm: kworker/u:5 Tainted: G        W   3.1.0-0.rc8.git0.0.fc17.x86_64 #1
[  709.603095] Call Trace:
[  709.603176]  [<ffffffff8108caef>] lockdep_rcu_dereference+0xa7/0xaf
[  709.603293]  [<ffffffffa03d9a0d>] dst_get_neighbour+0x52/0x5a [ib_ipoib]
[  709.603414]  [<ffffffffa03da568>] ipoib_start_xmit+0x3a/0x3b8 [ib_ipoib]
[  709.603531]  [<ffffffff8108efbf>] ? lock_release+0x1b1/0x1de
[  709.603655]  [<ffffffff81418cef>] dev_hard_start_xmit+0x44f/0x584
[  709.603774]  [<ffffffff814310fa>] sch_direct_xmit+0x72/0x14e
[  709.603911]  [<ffffffff81419219>] dev_queue_xmit+0x3f5/0x618
[  709.604048]  [<ffffffff81418e24>] ? dev_hard_start_xmit+0x584/0x584
[  709.604162]  [<ffffffff8108f527>] ? trace_hardirqs_on_caller+0x121/0x158
[  709.604282]  [<ffffffffa03da293>] path_rec_completion+0x30d/0x35e [ib_ipoib]
[  709.604405]  [<ffffffffa0192000>] ib_sa_path_rec_callback+0x51/0x75 [ib_sa]
[  709.604526]  [<ffffffffa019133b>] recv_handler+0x41/0x4d [ib_sa]
[  709.604657]  [<ffffffffa013dd7e>] ib_mad_completion_handler+0x44d/0x643 [ib_mad]
[  709.604789]  [<ffffffff8108b951>] ? trace_hardirqs_off+0xd/0xf
[  709.604932]  [<ffffffffa013d931>] ? ib_mad_send_done_handler+0x157/0x157 [ib_mad]
[  709.605085]  [<ffffffff81075bdd>] process_one_work+0x205/0x3e7
[  709.605195]  [<ffffffff81075b25>] ? process_one_work+0x14d/0x3e7
[  709.605305]  [<ffffffff8108cfb7>] ? lock_acquired+0x210/0x243
[  709.605413]  [<ffffffff8107688b>] worker_thread+0xda/0x15d
[  709.605518]  [<ffffffff810767b1>] ? manage_workers+0x176/0x176
[  709.605641]  [<ffffffff8107a251>] kthread+0xa8/0xb0
[  709.605748]  [<ffffffff8150de84>] kernel_thread_helper+0x4/0x10
[  709.605883]  [<ffffffff815052f4>] ? retint_restore_args+0x13/0x13
[  709.606047]  [<ffffffff8107a1a9>] ? __init_kthread_worker+0x5a/0x5a
[  709.606164]  [<ffffffff8150de80>] ? gs_change+0x13/0x13



Version-Release number of selected component (if applicable):
3.1.0-0.rc8.git0.fc17

How reproducible:
Haven't tried.

Steps to Reproduce:
1.Install a QLogic dual-port QDR Infiniband card
2.Have one cable fully connected, the other not quite pushed in all the way
3.boot and configure ib0 and ib1
4.Notice the not-quite-plugged-in cable, plug it in
  
Actual results:
Messages about RCU on console

Expected results:
No messages

Additional info:

Comment 1 Dave Jones 2011-10-05 20:17:22 UTC
I recommend just telling upstream about it.
Infiniband gets basically zero attention in Fedora.

Comment 2 Dave Jones 2011-12-06 16:54:32 UTC
should be fixed in commit 580da35a31f91a594f3090b7a2c39b85cb051a12