Project

General

Profile

Bug #178 ยป batadv_deadlock_in_linux_3.12.0.txt

dmesg snippet showing deadlock - Wilfried Klaebe, 11/23/2013 06:28 PM

 
[ 3805.328208]
[ 3805.328213] =============================================
[ 3805.328214] [ INFO: possible recursive locking detected ]
[ 3805.328216] 3.12.0+radeonbios #1 Not tainted
[ 3805.328217] ---------------------------------------------
[ 3805.328218] kworker/u16:1/6365 is trying to acquire lock:
[ 3805.328220] (&(&nc_path->packet_list_lock)->rlock){+.....}, at: [<ffffffffa0506610>] batadv_nc_skb_add_to_path+0x60/0x90 [batman_adv]
[ 3805.328228]
[ 3805.328228] but task is already holding lock:
[ 3805.328229] (&(&nc_path->packet_list_lock)->rlock){+.....}, at: [<ffffffffa050716d>] batadv_nc_process_nc_paths+0xbd/0x200 [batman_adv]
[ 3805.328234]
[ 3805.328234] other info that might help us debug this:
[ 3805.328235] Possible unsafe locking scenario:
[ 3805.328235]
[ 3805.328236] CPU0
[ 3805.328237] ----
[ 3805.328238] lock(&(&nc_path->packet_list_lock)->rlock);
[ 3805.328239] lock(&(&nc_path->packet_list_lock)->rlock);
[ 3805.328241]
[ 3805.328241] *** DEADLOCK ***
[ 3805.328241]
[ 3805.328242] May be due to missing lock nesting notation
[ 3805.328242]
[ 3805.328243] 4 locks held by kworker/u16:1/6365:
[ 3805.328244] #0: (%s#8){.+.+..}, at: [<ffffffff810b770e>] process_one_work+0x16e/0x490
[ 3805.328250] #1: ((&(&bat_priv->nc.work)->work)){+.+...}, at: [<ffffffff810b770e>] process_one_work+0x16e/0x490
[ 3805.328253] #2: (rcu_read_lock){.+.+..}, at: [<ffffffffa05070e6>] batadv_nc_process_nc_paths+0x36/0x200 [batman_adv]
[ 3805.328258] #3: (&(&nc_path->packet_list_lock)->rlock){+.....}, at: [<ffffffffa050716d>] batadv_nc_process_nc_paths+0xbd/0x200 [batman_adv]
[ 3805.328262]
[ 3805.328262] stack backtrace:
[ 3805.328265] CPU: 3 PID: 6365 Comm: kworker/u16:1 Not tainted 3.12.0+radeonbios #1
[ 3805.328266] Hardware name: Apple Inc. MacBookPro8,2/Mac-94245A3940C91C80, BIOS MBP81.88Z.0047.B27.1201241646 01/24/12
[ 3805.328270] Workqueue: bat_events batadv_nc_worker [batman_adv]
[ 3805.328271] ffffffff82278e10 ffff880262a43b18 ffffffff81664c04 ffffffff82278e10
[ 3805.328274] ffff880262a43bd8 ffffffff81108619 ffff8802624d69b0 0000000000000000
[ 3805.328276] ffff880262a43b58 ffffffff81106bc7 ffffffff00000000 7013810050e92749
[ 3805.328279] Call Trace:
[ 3805.328283] [<ffffffff81664c04>] dump_stack+0x54/0x8d
[ 3805.328286] [<ffffffff81108619>] __lock_acquire+0x1659/0x1a10
[ 3805.328288] [<ffffffff81106bc7>] ? trace_hardirqs_on_caller+0xa7/0x1c0
[ 3805.328291] [<ffffffff8105c028>] ? crc32c_pcl_intel_update+0x28/0xd0
[ 3805.328294] [<ffffffff812be6d3>] ? crypto_shash_update+0x33/0x100
[ 3805.328297] [<ffffffffa0506b50>] ? batadv_nc_get_path.isra.23+0x330/0x380 [batman_adv]
[ 3805.328300] [<ffffffffa0506867>] ? batadv_nc_get_path.isra.23+0x47/0x380 [batman_adv]
[ 3805.328302] [<ffffffff81109144>] lock_acquire+0x64/0x80
[ 3805.328305] [<ffffffffa0506610>] ? batadv_nc_skb_add_to_path+0x60/0x90 [batman_adv]
[ 3805.328307] [<ffffffff8166daa1>] _raw_spin_lock_bh+0x41/0x50
[ 3805.328310] [<ffffffffa0506610>] ? batadv_nc_skb_add_to_path+0x60/0x90 [batman_adv]
[ 3805.328313] [<ffffffffa0506610>] batadv_nc_skb_add_to_path+0x60/0x90 [batman_adv]
[ 3805.328317] [<ffffffffa05080f2>] batadv_nc_skb_store_for_decoding+0xb2/0x100 [batman_adv]
[ 3805.328320] [<ffffffffa050ef77>] batadv_send_skb_packet+0xe7/0x110 [batman_adv]
[ 3805.328324] [<ffffffffa0506750>] ? batadv_nc_get_nc_node.isra.18.part.19+0x110/0x110 [batman_adv]
[ 3805.328327] [<ffffffffa05067d8>] batadv_nc_fwd_flush+0x88/0xd0 [batman_adv]
[ 3805.328330] [<ffffffffa0507197>] batadv_nc_process_nc_paths+0xe7/0x200 [batman_adv]
[ 3805.328332] [<ffffffffa05070e6>] ? batadv_nc_process_nc_paths+0x36/0x200 [batman_adv]
[ 3805.328336] [<ffffffffa0507ed8>] batadv_nc_worker+0x308/0x320 [batman_adv]
[ 3805.328339] [<ffffffffa0507c10>] ? batadv_nc_worker+0x40/0x320 [batman_adv]
[ 3805.328340] [<ffffffff810b776b>] process_one_work+0x1cb/0x490
[ 3805.328342] [<ffffffff810b770e>] ? process_one_work+0x16e/0x490
[ 3805.328344] [<ffffffff810b7b49>] worker_thread+0x119/0x3a0
[ 3805.328346] [<ffffffff810b7a30>] ? process_one_work+0x490/0x490
[ 3805.328348] [<ffffffff810c15d5>] kthread+0xe5/0xf0
[ 3805.328351] [<ffffffff810c14f0>] ? kthread_create_on_node+0x150/0x150
[ 3805.328353] [<ffffffff8166f07c>] ret_from_fork+0x7c/0xb0
[ 3805.328355] [<ffffffff810c14f0>] ? kthread_create_on_node+0x150/0x150
    (1-1/1)