============================================
WARNING: possible recursive locking detected
4.19.63 #37 Not tainted
--------------------------------------------
kworker/0:2/25665 is trying to acquire lock:
0000000098bfadd9 (&(&rxnet->peer_hash_lock)->rlock){+.-.}, at: spin_lock_bh include/linux/spinlock.h:334 [inline]
0000000098bfadd9 (&(&rxnet->peer_hash_lock)->rlock){+.-.}, at: __rxrpc_put_peer net/rxrpc/peer_object.c:419 [inline]
0000000098bfadd9 (&(&rxnet->peer_hash_lock)->rlock){+.-.}, at: rxrpc_put_peer+0x29d/0x660 net/rxrpc/peer_object.c:439
but task is already holding lock:
0000000098bfadd9 (&(&rxnet->peer_hash_lock)->rlock){+.-.}, at: spin_lock_bh include/linux/spinlock.h:334 [inline]
0000000098bfadd9 (&(&rxnet->peer_hash_lock)->rlock){+.-.}, at: rxrpc_peer_keepalive_dispatch net/rxrpc/peer_event.c:375 [inline]
0000000098bfadd9 (&(&rxnet->peer_hash_lock)->rlock){+.-.}, at: rxrpc_peer_keepalive_worker+0x6b3/0xd02 net/rxrpc/peer_event.c:427
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0
----
lock(&(&rxnet->peer_hash_lock)->rlock);
lock(&(&rxnet->peer_hash_lock)->rlock);
*** DEADLOCK ***
May be due to missing lock nesting notation
3 locks held by kworker/0:2/25665:
#0: 0000000089f1f1b1 ((wq_completion)"krxrpcd"){+.+.}, at: __write_once_size include/linux/compiler.h:220 [inline]
#0: 0000000089f1f1b1 ((wq_completion)"krxrpcd"){+.+.}, at: arch_atomic64_set arch/x86/include/asm/atomic64_64.h:34 [inline]
#0: 0000000089f1f1b1 ((wq_completion)"krxrpcd"){+.+.}, at: atomic64_set include/asm-generic/atomic-instrumented.h:40 [inline]
#0: 0000000089f1f1b1 ((wq_completion)"krxrpcd"){+.+.}, at: atomic_long_set include/asm-generic/atomic-long.h:59 [inline]
#0: 0000000089f1f1b1 ((wq_completion)"krxrpcd"){+.+.}, at: set_work_data kernel/workqueue.c:617 [inline]
#0: 0000000089f1f1b1 ((wq_completion)"krxrpcd"){+.+.}, at: set_work_pool_and_clear_pending kernel/workqueue.c:644 [inline]
#0: 0000000089f1f1b1 ((wq_completion)"krxrpcd"){+.+.}, at: process_one_work+0x87e/0x1750 kernel/workqueue.c:2124
#1: 000000006968518a ((work_completion)(&rxnet->peer_keepalive_work)){+.+.}, at: process_one_work+0x8b4/0x1750 kernel/workqueue.c:2128
#2: 0000000098bfadd9 (&(&rxnet->peer_hash_lock)->rlock){+.-.}, at: spin_lock_bh include/linux/spinlock.h:334 [inline]
#2: 0000000098bfadd9 (&(&rxnet->peer_hash_lock)->rlock){+.-.}, at: rxrpc_peer_keepalive_dispatch net/rxrpc/peer_event.c:375 [inline]
#2: 0000000098bfadd9 (&(&rxnet->peer_hash_lock)->rlock){+.-.}, at: rxrpc_peer_keepalive_worker+0x6b3/0xd02 net/rxrpc/peer_event.c:427
stack backtrace:
CPU: 0 PID: 25665 Comm: kworker/0:2 Not tainted 4.19.63 #37
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: krxrpcd rxrpc_peer_keepalive_worker
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x172/0x1f0 lib/dump_stack.c:113
print_deadlock_bug kernel/locking/lockdep.c:1759 [inline]
check_deadlock kernel/locking/lockdep.c:1803 [inline]
validate_chain kernel/locking/lockdep.c:2399 [inline]
__lock_acquire.cold+0x20f/0x4a7 kernel/locking/lockdep.c:3411
lock_acquire+0x16f/0x3f0 kernel/locking/lockdep.c:3900
__raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline]
_raw_spin_lock_bh+0x33/0x50 kernel/locking/spinlock.c:168
spin_lock_bh include/linux/spinlock.h:334 [inline]
__rxrpc_put_peer net/rxrpc/peer_object.c:419 [inline]
rxrpc_put_peer+0x29d/0x660 net/rxrpc/peer_object.c:439
rxrpc_peer_keepalive_dispatch net/rxrpc/peer_event.c:378 [inline]
rxrpc_peer_keepalive_worker+0x7a6/0xd02 net/rxrpc/peer_event.c:427
process_one_work+0x989/0x1750 kernel/workqueue.c:2153
worker_thread+0x98/0xe40 kernel/workqueue.c:2296
kthread+0x354/0x420 kernel/kthread.c:246
ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415
net_ratelimit: 28 callbacks suppressed
protocol 88fb is buggy, dev hsr_slave_0
protocol 88fb is buggy, dev hsr_slave_1
protocol 88fb is buggy, dev hsr_slave_0
protocol 88fb is buggy, dev hsr_slave_1
kauditd_printk_skb: 60 callbacks suppressed
audit: type=1400 audit(1564662409.995:19423): avc: denied { map } for pid=31972 comm="blkid" path="/lib/x86_64-linux-gnu/ld-2.13.so" dev="sda1" ino=2668 scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:object_r:file_t:s0 tclass=file permissive=1
protocol 88fb is buggy, dev hsr_slave_0
protocol 88fb is buggy, dev hsr_slave_1
audit: type=1400 audit(1564662410.044:19424): avc: denied { write } for pid=31965 comm="syz-executor.1" scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=netlink_generic_socket permissive=1
kobject: 'loop0' (00000000c6c2bb09): kobject_uevent_env
kobject: 'loop0' (00000000c6c2bb09): fill_kobj_path: path = '/devices/virtual/block/loop0'
protocol 88fb is buggy, dev hsr_slave_0
protocol 88fb is buggy, dev hsr_slave_1
audit: type=1400 audit(1564662410.054:19425): avc: denied { map } for pid=31972 comm="blkid" path="/lib/x86_64-linux-gnu/ld-2.13.so" dev="sda1" ino=2668 scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:object_r:file_t:s0 tclass=file permissive=1
protocol 88fb is buggy, dev hsr_slave_0
protocol 88fb is buggy, dev hsr_slave_1
kobject: 'loop5' (00000000a69ae2b5): kobject_uevent_env
kobject: 'loop5' (00000000a69ae2b5): fill_kobj_path: path = '/devices/virtual/block/loop5'
audit: type=1400 audit(1564662410.590:19426): avc: denied { create } for pid=31988 comm="syz-executor.1" scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=netlink_generic_socket permissive=1
kobject: 'loop4' (000000004dc6a859): kobject_uevent_env
audit: type=1400 audit(1564662410.600:19427): avc: denied { write } for pid=31988 comm="syz-executor.1" scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=netlink_generic_socket permissive=1
kobject: 'loop4' (000000004dc6a859): fill_kobj_path: path = '/devices/virtual/block/loop4'
audit: type=1400 audit(1564662410.719:19428): avc: denied { map } for pid=31993 comm="blkid" path="/sbin/blkid" dev="sda1" ino=16128 scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:object_r:file_t:s0 tclass=file permissive=1
audit: type=1400 audit(1564662410.788:19429): avc: denied { map } for pid=31993 comm="blkid" path="/lib/x86_64-linux-gnu/libc-2.13.so" dev="sda1" ino=2784 scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:object_r:file_t:s0 tclass=file permissive=1
kobject: 'loop5' (00000000a69ae2b5): kobject_uevent_env
kobject: 'loop5' (00000000a69ae2b5): fill_kobj_path: path = '/devices/virtual/block/loop5'
audit: type=1400 audit(1564662411.363:19430): avc: denied { map } for pid=32004 comm="blkid" path="/sbin/blkid" dev="sda1" ino=16128 scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:object_r:file_t:s0 tclass=file permissive=1
kobject: 'loop4' (000000004dc6a859): kobject_uevent_env
kobject: 'loop4' (000000004dc6a859): fill_kobj_path: path = '/devices/virtual/block/loop4'
audit: type=1400 audit(1564662411.383:19431): avc: denied { map } for pid=32004 comm="blkid" path="/lib/x86_64-linux-gnu/libblkid.so.1.1.0" dev="sda1" ino=2825 scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:object_r:file_t:s0 tclass=file permissive=1
kobject: 'loop5' (00000000a69ae2b5): kobject_uevent_env
kobject: 'loop5' (00000000a69ae2b5): fill_kobj_path: path = '/devices/virtual/block/loop5'
audit: type=1400 audit(1564662411.423:19432): avc: denied { map } for pid=32004 comm="blkid" path="/lib/x86_64-linux-gnu/libc-2.13.so" dev="sda1" ino=2784 scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:object_r:file_t:s0 tclass=file permissive=1
kobject: 'loop0' (00000000c6c2bb09): kobject_uevent_env
kobject: 'loop0' (00000000c6c2bb09): fill_kobj_path: path = '/devices/virtual/block/loop0'
kobject: 'loop4' (000000004dc6a859): kobject_uevent_env
kobject: 'loop4' (000000004dc6a859): fill_kobj_path: path = '/devices/virtual/block/loop4'
kobject: 'loop5' (00000000a69ae2b5): kobject_uevent_env
kobject: 'loop5' (00000000a69ae2b5): fill_kobj_path: path = '/devices/virtual/block/loop5'
net_ratelimit: 22 callbacks suppressed
protocol 88fb is buggy, dev hsr_slave_0
protocol 88fb is buggy, dev hsr_slave_1
protocol 88fb is buggy, dev hsr_slave_0
protocol 88fb is buggy, dev hsr_slave_1
protocol 88fb is buggy, dev hsr_slave_0
protocol 88fb is buggy, dev hsr_slave_1
protocol 88fb is buggy, dev hsr_slave_0
protocol 88fb is buggy, dev hsr_slave_1
protocol 88fb is buggy, dev hsr_slave_0
protocol 88fb is buggy, dev hsr_slave_1