============================================ WARNING: possible recursive locking detected syzkaller #0 Not tainted -------------------------------------------- syz.0.1992/10861 is trying to acquire lock: ffffe8ffffd420d0 (&loc_l->lock){....}-{2:2}, at: bpf_common_lru_push_free kernel/bpf/bpf_lru_list.c:514 [inline] ffffe8ffffd420d0 (&loc_l->lock){....}-{2:2}, at: bpf_lru_push_free+0x33b/0xbb0 kernel/bpf/bpf_lru_list.c:553 but task is already holding lock: ffffe8ffffd420d0 (&loc_l->lock){....}-{2:2}, at: bpf_common_lru_pop_free kernel/bpf/bpf_lru_list.c:440 [inline] ffffe8ffffd420d0 (&loc_l->lock){....}-{2:2}, at: bpf_lru_pop_free+0x1a1/0x1ca0 kernel/bpf/bpf_lru_list.c:496 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&loc_l->lock); lock(&loc_l->lock); *** DEADLOCK *** May be due to missing lock nesting notation 3 locks held by syz.0.1992/10861: #0: ffffffff8e7602e0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:312 [inline] #0: ffffffff8e7602e0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:850 [inline] #0: ffffffff8e7602e0 (rcu_read_lock){....}-{1:3}, at: bpf_percpu_hash_update+0x2b/0x200 kernel/bpf/hashtab.c:2513 #1: ffffe8ffffd420d0 (&loc_l->lock){....}-{2:2}, at: bpf_common_lru_pop_free kernel/bpf/bpf_lru_list.c:440 [inline] #1: ffffe8ffffd420d0 (&loc_l->lock){....}-{2:2}, at: bpf_lru_pop_free+0x1a1/0x1ca0 kernel/bpf/bpf_lru_list.c:496 #2: ffffffff8e7602e0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:312 [inline] #2: ffffffff8e7602e0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:850 [inline] #2: ffffffff8e7602e0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock_dont_migrate include/linux/rcupdate.h:992 [inline] #2: ffffffff8e7602e0 (rcu_read_lock){....}-{1:3}, at: __bpf_trace_run kernel/trace/bpf_trace.c:2079 [inline] #2: ffffffff8e7602e0 (rcu_read_lock){....}-{1:3}, at: bpf_trace_run2+0x1c9/0x840 kernel/trace/bpf_trace.c:2129 stack backtrace: