Bug 730757

Summary: INFO: possible irq lock inversion dependency detected - 3.1.0-0.rc2.git0.1.fc17.x86_64
Product: [Fedora] Fedora Reporter: Tom London <selinux>
Component: kernelAssignee: John W. Linville <linville>
Status: CLOSED INSUFFICIENT_DATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: aquini, gansalmon, itamar, jonathan, jwboyer, kernel-maint, linville, madhu.chinakonda
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: 2012-03-28 16:59:04 UTC Type: ---
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
output of 'dmesg' none

Description Tom London 2011-08-15 16:38:59 UTC
Created attachment 518288 [details]
output of 'dmesg'

Description of problem:
Got this on a freshly rebooted system.

I believe the system was trying (and no succeeding) to associate with my wireless access point.

I attach complete output of 'dmesg'.

[  357.123082] 
[  357.123083] =========================================================
[  357.123087] [ INFO: possible irq lock inversion dependency detected ]
[  357.123090] 3.1.0-0.rc2.git0.1.fc17.x86_64 #1
[  357.123092] ---------------------------------------------------------
[  357.123094] kworker/0:2/53 just changed the state of lock:
[  357.123097]  (net/rfkill/input.c:139){+.-...}, at: [<ffffffff8106a7fb>] run_timer_softirq+0x157/0x372
[  357.123107] but this lock was taken by another, HARDIRQ-safe lock in the past:
[  357.123109]  (&(&dev->event_lock)->rlock){-.-...}
[  357.123112] 
[  357.123112] and interrupts could create inverse lock ordering between them.
[  357.123114] 
[  357.123116] 
[  357.123116] other info that might help us debug this:
[  357.123118] Chain exists of:
[  357.123119]   &(&dev->event_lock)->rlock --> &(&rfkill_op_lock)->rlock --> net/rfkill/input.c:139
[  357.123125] 
[  357.123127]  Possible interrupt unsafe locking scenario:
[  357.123128] 
[  357.123129]        CPU0                    CPU1
[  357.123131]        ----                    ----
[  357.123132]   lock(net/rfkill/input.c:139);
[  357.123136]                                local_irq_disable();
[  357.123138]                                lock(&(&dev->event_lock)->rlock);
[  357.123141]                                lock(&(&rfkill_op_lock)->rlock);
[  357.123144]   <Interrupt>
[  357.123146]     lock(&(&dev->event_lock)->rlock);
[  357.123149] 
[  357.123149]  *** DEADLOCK ***
[  357.123150] 
[  357.123152] 3 locks held by kworker/0:2/53:
[  357.123154]  #0:  (events){.+.+.+}, at: [<ffffffff81075a51>] process_one_work+0x14d/0x3e7
[  357.123161]  #1:  ((rfkill_op_work).work){+.+.+.}, at: [<ffffffff81075a51>] process_one_work+0x14d/0x3e7
[  357.123167]  #2:  (rfkill_global_mutex){+.+.+.}, at: [<ffffffffa012e519>] rfkill_epo+0x24/0x8e [rfkill]
[  357.123178] 
[  357.123178] the shortest dependencies between 2nd lock and 1st lock:
[  357.123199]   -> (&(&dev->event_lock)->rlock){-.-...} ops: 27342 {
[  357.123204]      IN-HARDIRQ-W at:
[  357.123207]                                            [<ffffffff8108e0d4>] __lock_acquire+0x2c0/0xcf7
[  357.123212]                                            [<ffffffff8108f001>] lock_acquire+0xf3/0x13e
[  357.123216]                                            [<ffffffff814f87d9>] _raw_spin_lock_irqsave+0x54/0x8e
[  357.123222]                                            [<ffffffff81399aca>] input_event+0x46/0x88
[  357.123228]                                            [<ffffffff813e0e1b>] hidinput_hid_event+0x28a/0x2b3
[  357.123233]                                            [<ffffffff813dc81c>] hid_process_event+0xf5/0x12d
[  357.123237]                                            [<ffffffff813dcf0e>] hid_report_raw_event+0x30c/0x31d
[  357.123241]                                            [<ffffffff813dd10f>] hid_input_report+0x1f0/0x202
[  357.123245]                                            [<ffffffff813e6687>] hid_irq_in+0xb5/0x1ba
[  357.123250]                                            [<ffffffff8136ecdf>] usb_hcd_giveback_urb+0x86/0xbe
[  357.123255]                                            [<ffffffff813813b6>] ehci_urb_done+0x7a/0x8b
[  357.123260]                                            [<ffffffff81383547>] qh_completions+0x3c4/0x452
[  357.123265]                                            [<ffffffff81385153>] ehci_work+0x282/0x790
[  357.123269]                                            [<ffffffff81385e3d>] ehci_irq+0x31c/0x364
[  357.123273]                                            [<ffffffff8136e485>] usb_hcd_irq+0x47/0x9b
[  357.123277]                                            [<ffffffff810c257c>] handle_irq_event_percpu+0xb4/0x271
[  357.123282]                                            [<ffffffff810c2780>] handle_irq_event+0x47/0x67
[  357.123286]                                            [<ffffffff810c49bc>] handle_fasteoi_irq+0x8a/0xb0
[  357.123291]                                            [<ffffffff81010ba4>] handle_irq+0x8b/0x91
[  357.123296]                                            [<ffffffff8150297d>] do_IRQ+0x4d/0xa5
[  357.123301]                                            [<ffffffff814f9373>] ret_from_intr+0x0/0x1a
[  357.123306]                                            [<ffffffff812c7936>] acpi_idle_enter_bm+0x23b/0x273
[  357.123312]                                            [<ffffffff813d670e>] cpuidle_idle_call+0x11c/0x1fe
[  357.123317]                                            [<ffffffff8100e2ea>] cpu_idle+0xab/0x101
[  357.123321]                                            [<ffffffff814d44f8>] rest_init+0xdc/0xe3
[  357.123326]                                            [<ffffffff81d4fb9f>] start_kernel+0x3dd/0x3ea
[  357.123331]                                            [<ffffffff81d4f2c4>] x86_64_start_reservations+0xaf/0xb3
[  357.123336]                                            [<ffffffff81d4f3ca>] x86_64_start_kernel+0x102/0x111
[  357.123341]      IN-SOFTIRQ-W at:
[  357.123343]                                            [<ffffffff8108e0fb>] __lock_acquire+0x2e7/0xcf7
[  357.123348]                                            [<ffffffff8108f001>] lock_acquire+0xf3/0x13e
[  357.123351]                                            [<ffffffff814f87d9>] _raw_spin_lock_irqsave+0x54/0x8e
[  357.123356]                                            [<ffffffff81399aca>] input_event+0x46/0x88
[  357.123360]                                            [<ffffffff813e0e1b>] hidinput_hid_event+0x28a/0x2b3
[  357.123364]                                            [<ffffffff813dc81c>] hid_process_event+0xf5/0x12d
[  357.123368]                                            [<ffffffff813dcf0e>] hid_report_raw_event+0x30c/0x31d
[  357.123373]                                            [<ffffffff813dd10f>] hid_input_report+0x1f0/0x202
[  357.123377]                                            [<ffffffff813e6687>] hid_irq_in+0xb5/0x1ba
[  357.123381]                                            [<ffffffff8136ecdf>] usb_hcd_giveback_urb+0x86/0xbe
[  357.123385]                                            [<ffffffff813813b6>] ehci_urb_done+0x7a/0x8b
[  357.123390]                                            [<ffffffff81383547>] qh_completions+0x3c4/0x452
[  357.123394]                                            [<ffffffff81385153>] ehci_work+0x282/0x790
[  357.123398]                                            [<ffffffff81385e3d>] ehci_irq+0x31c/0x364
[  357.123402]                                            [<ffffffff8136e485>] usb_hcd_irq+0x47/0x9b
[  357.123406]                                            [<ffffffff810c257c>] handle_irq_event_percpu+0xb4/0x271
[  357.123410]                                            [<ffffffff810c2780>] handle_irq_event+0x47/0x67
[  357.123415]                                            [<ffffffff810c49bc>] handle_fasteoi_irq+0x8a/0xb0
[  357.123419]                                            [<ffffffff81010ba4>] handle_irq+0x8b/0x91
[  357.123423]                                            [<ffffffff8150297d>] do_IRQ+0x4d/0xa5
[  357.123427]                                            [<ffffffff814f9373>] ret_from_intr+0x0/0x1a
[  357.123432]                                            [<ffffffff814f1058>] free_debug_processing+0x188/0x1b7
[  357.123437]                                            [<ffffffff814f10b5>] __slab_free+0x2e/0x24c
[  357.123441]                                            [<ffffffff811308aa>] kmem_cache_free+0x85/0xff
[  357.123447]                                            [<ffffffff8114326f>] file_free_rcu+0x57/0x5c
[  357.123452]                                            [<ffffffff810c6cc0>] __rcu_process_callbacks+0x1ed/0x32d
[  357.123456]                                            [<ffffffff810c7cdd>] rcu_process_callbacks+0x28/0xa3
[  357.123461]                                            [<ffffffff81062bae>] __do_softirq+0x112/0x25a
[  357.123465]                                            [<ffffffff815020bc>] call_softirq+0x1c/0x30
[  357.123470]                                            [<ffffffff81010bf5>] do_softirq+0x4b/0xa2
[  357.123474]                                            [<ffffffff81062f5d>] irq_exit+0x5d/0xcf
[  357.123478]                                            [<ffffffff81502a51>] smp_apic_timer_interrupt+0x7c/0x8a
[  357.123482]                                            [<ffffffff81500933>] apic_timer_interrupt+0x73/0x80
[  357.123487]                                            [<ffffffff8108f01d>] lock_acquire+0x10f/0x13e
[  357.123491]                                            [<ffffffff814fc756>] __atomic_notifier_call_chain+0x5f/0xa8
[  357.123495]                                            [<ffffffff814fc7b3>] atomic_notifier_call_chain+0x14/0x16
[  357.123500]                                            [<ffffffff8100e317>] cpu_idle+0xd8/0x101
[  357.123504]                                            [<ffffffff814d44f8>] rest_init+0xdc/0xe3
[  357.123508]                                            [<ffffffff81d4fb9f>] start_kernel+0x3dd/0x3ea
[  357.123512]                                            [<ffffffff81d4f2c4>] x86_64_start_reservations+0xaf/0xb3
[  357.123517]                                            [<ffffffff81d4f3ca>] x86_64_start_kernel+0x102/0x111
[  357.123521]      INITIAL USE at:
[  357.123523]                                           [<ffffffff8108e1c0>] __lock_acquire+0x3ac/0xcf7
[  357.123528]                                           [<ffffffff8108f001>] lock_acquire+0xf3/0x13e
[  357.123532]                                           [<ffffffff814f87d9>] _raw_spin_lock_irqsave+0x54/0x8e
[  357.123536]                                           [<ffffffff81399aca>] input_event+0x46/0x88
[  357.123540]                                           [<ffffffff812c41d6>] acpi_lid_send_state+0x54/0xaf
[  357.123546]                                           [<ffffffff812c47fb>] acpi_button_add+0x329/0x3da
[  357.123550]                                           [<ffffffff81299eec>] acpi_device_probe+0x50/0x190
[  357.123556]                                           [<ffffffff81315f3f>] driver_probe_device+0x131/0x213
[  357.123561]                                           [<ffffffff8131607f>] __driver_attach+0x5e/0x82
[  357.123566]                                           [<ffffffff81314f80>] bus_for_each_dev+0x59/0x8f
[  357.123570]                                           [<ffffffff81315b13>] driver_attach+0x1e/0x20
[  357.123574]                                           [<ffffffff8131572b>] bus_add_driver+0xd4/0x22a
[  357.123579]                                           [<ffffffff81316542>] driver_register+0x98/0x105
[  357.123583]                                           [<ffffffff8129a7e4>] acpi_bus_register_driver+0x43/0x45
[  357.123588]                                           [<ffffffff81d80cd3>] acpi_button_init+0x10/0x12
[  357.123593]                                           [<ffffffff81002099>] do_one_initcall+0x7f/0x13a
[  357.123599]                                           [<ffffffff81d4fc8b>] kernel_init+0xdf/0x159
[  357.123603]                                           [<ffffffff81501fc4>] kernel_thread_helper+0x4/0x10
[  357.123607]    }
[  357.123608]    ... key      at: [<ffffffff8299f5a0>] __key.24668+0x0/0x8
[  357.123613]    ... acquired at:
[  357.123615]    [<ffffffff8108f001>] lock_acquire+0xf3/0x13e
[  357.123618]    [<ffffffff814f87d9>] _raw_spin_lock_irqsave+0x54/0x8e
[  357.123622]    [<ffffffffa012e894>] rfkill_schedule_global_op+0x1b/0x94 [rfkill]
[  357.123628]    [<ffffffffa012e95d>] rfkill_start+0x50/0x64 [rfkill]
[  357.123634]    [<ffffffff81396ff5>] input_register_handle+0xb5/0xc4
[  357.123637]    [<ffffffffa012e7f5>] rfkill_connect+0x60/0x97 [rfkill]
[  357.123642]    [<ffffffff81396eee>] input_attach_handler+0x1bd/0x1ef
[  357.123646]    [<ffffffff81397d3c>] input_register_device+0x2c3/0x2f4
[  357.123650]    [<ffffffffa01f293e>] __this_module+0x81e/0xffffffffffffeee0 [arc4]
[  357.123655]    [<ffffffff81002099>] do_one_initcall+0x7f/0x13a
[  357.123658]    [<ffffffff8109a5bc>] sys_init_module+0x114/0x267
[  357.123663]    [<ffffffff814ffdc2>] system_call_fastpath+0x16/0x1b
[  357.123667] 
[  357.123668]  -> (&(&rfkill_op_lock)->rlock){......} ops: 6 {
[  357.123673]     INITIAL USE at:
[  357.123676]                                         [<ffffffff8108e1c0>] __lock_acquire+0x3ac/0xcf7
[  357.123680]                                         [<ffffffff8108f001>] lock_acquire+0xf3/0x13e
[  357.123684]                                         [<ffffffff814f87d9>] _raw_spin_lock_irqsave+0x54/0x8e
[  357.123688]                                         [<ffffffffa012e894>] rfkill_schedule_global_op+0x1b/0x94 [rfkill]
[  357.123694]                                         [<ffffffffa012e95d>] rfkill_start+0x50/0x64 [rfkill]
[  357.123700]                                         [<ffffffff81396ff5>] input_register_handle+0xb5/0xc4
[  357.123704]                                         [<ffffffffa012e7f5>] rfkill_connect+0x60/0x97 [rfkill]
[  357.123710]                                         [<ffffffff81396eee>] input_attach_handler+0x1bd/0x1ef
[  357.123714]                                         [<ffffffff81397d3c>] input_register_device+0x2c3/0x2f4
[  357.123718]                                         [<ffffffffa01f293e>] __this_module+0x81e/0xffffffffffffeee0 [arc4]
[  357.123723]                                         [<ffffffff81002099>] do_one_initcall+0x7f/0x13a
[  357.123727]                                         [<ffffffff8109a5bc>] sys_init_module+0x114/0x267
[  357.123731]                                         [<ffffffff814ffdc2>] system_call_fastpath+0x16/0x1b
[  357.123735]   }
[  357.123737]   ... key      at: [<ffffffffa01307e8>] __key.22378+0x0/0xffffffffffffe818 [rfkill]
[  357.123743]   ... acquired at:
[  357.123744]    [<ffffffff8108f001>] lock_acquire+0xf3/0x13e
[  357.123748]    [<ffffffff8106a390>] del_timer_sync+0x4c/0xc4
[  357.123752]    [<ffffffffa012e8bf>] rfkill_schedule_global_op+0x46/0x94 [rfkill]
[  357.123757]    [<ffffffffa012ea37>] rfkill_event+0x65/0x6a [rfkill]
[  357.123762]    [<ffffffff8139845e>] input_pass_event+0xd5/0x128
[  357.123766]    [<ffffffff813999a2>] input_handle_event+0x480/0x48f
[  357.123769]    [<ffffffff81399aed>] input_event+0x69/0x88
[  357.123773]    [<ffffffffa01bd4cb>] tpacpi_send_radiosw_update+0x81/0xbf [thinkpad_acpi]
[  357.123781]    [<ffffffffa01bfa8f>] hotkey_notify+0x3ba/0x439 [thinkpad_acpi]
[  357.123789]    [<ffffffffa01bf597>] dispatch_acpi_notify+0x2e/0x30 [thinkpad_acpi]
[  357.123796]    [<ffffffff812a8257>] acpi_ev_notify_dispatch+0x67/0x7e
[  357.123801]    [<ffffffff81296191>] acpi_os_execute_deferred+0x27/0x34
[  357.123805]    [<ffffffff81075b09>] process_one_work+0x205/0x3e7
[  357.123808]    [<ffffffff810767b7>] worker_thread+0xda/0x15d
[  357.123812]    [<ffffffff8107a17d>] kthread+0xa8/0xb0
[  357.123816]    [<ffffffff81501fc4>] kernel_thread_helper+0x4/0x10
[  357.123819] 
[  357.123821] -> (net/rfkill/input.c:139){+.-...} ops: 2 {
[  357.123826]    HARDIRQ-ON-W at:
[  357.123828]                                        [<ffffffff8108e14b>] __lock_acquire+0x337/0xcf7
[  357.123832]                                        [<ffffffff8108f001>] lock_acquire+0xf3/0x13e


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Tom London 2011-08-15 16:40:03 UTC
Fat fingered (forgot) to include kernel version:

kernel-3.1.0-0.rc2.git0.1.fc17.x86_64

Comment 2 Josh Boyer 2012-02-02 15:13:36 UTC
Tom do you still see this with the 3.2 or 3.3 kernels?

Comment 3 John W. Linville 2012-03-28 16:59:04 UTC
Closing due to lack of response...