syzbot


possible deadlock in sock_map_delete_elem

Status: upstream: reported C repro on 2024/03/21 17:46
Bug presence: origin:upstream
[Documentation on labels]
Reported-by: syzbot+9acd3e79e2d0385a2b8a@syzkaller.appspotmail.com
First crash: 46d, last: 13h15m
Bug presence (1)
Date Name Commit Repro Result
2024/05/03 upstream (ToT) f03359bca01b C [report] WARNING in sock_map_close
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream possible deadlock in sock_map_delete_elem bpf net C 377 47m 49d 0/26 upstream: reported C repro on 2024/03/18 16:03
linux-6.1 possible deadlock in sock_map_delete_elem origin:upstream C 44 13h27m 30d 0/3 upstream: reported C repro on 2024/04/06 16:22

Sample crash report:
============================================
WARNING: possible recursive locking detected
5.15.158-syzkaller #0 Not tainted
--------------------------------------------
ksoftirqd/0/14 is trying to acquire lock:
ffff88801eb0e5c0 (&stab->lock){+.-.}-{2:2}, at: __sock_map_delete net/core/sock_map.c:419 [inline]
ffff88801eb0e5c0 (&stab->lock){+.-.}-{2:2}, at: sock_map_delete_elem+0x161/0x230 net/core/sock_map.c:451

but task is already holding lock:
ffff88801eb0e5c0 (&stab->lock){+.-.}-{2:2}, at: __sock_map_delete net/core/sock_map.c:419 [inline]
ffff88801eb0e5c0 (&stab->lock){+.-.}-{2:2}, at: sock_map_delete_elem+0x161/0x230 net/core/sock_map.c:451

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(&stab->lock);
  lock(&stab->lock);

 *** DEADLOCK ***

 May be due to missing lock nesting notation

5 locks held by ksoftirqd/0/14:
 #0: ffffffff8c91fba0 (rcu_callback){....}-{0:0}, at: rcu_lock_acquire+0x0/0x20
 #1: ffffffff8c91fae0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:311
 #2: ffff88801eb0e5c0 (&stab->lock){+.-.}-{2:2}, at: __sock_map_delete net/core/sock_map.c:419 [inline]
 #2: ffff88801eb0e5c0 (&stab->lock){+.-.}-{2:2}, at: sock_map_delete_elem+0x161/0x230 net/core/sock_map.c:451
 #3: ffff888072de4290 (&psock->link_lock){+.-.}-{2:2}, at: spin_lock_bh include/linux/spinlock.h:368 [inline]
 #3: ffff888072de4290 (&psock->link_lock){+.-.}-{2:2}, at: sock_map_del_link net/core/sock_map.c:147 [inline]
 #3: ffff888072de4290 (&psock->link_lock){+.-.}-{2:2}, at: sock_map_unref+0xcc/0x5d0 net/core/sock_map.c:182
 #4: ffffffff8c91fae0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:311

stack backtrace:
CPU: 0 PID: 14 Comm: ksoftirqd/0 Not tainted 5.15.158-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1e3/0x2d0 lib/dump_stack.c:106
 print_deadlock_bug kernel/locking/lockdep.c:2946 [inline]
 check_deadlock kernel/locking/lockdep.c:2989 [inline]
 validate_chain+0x46d2/0x5930 kernel/locking/lockdep.c:3775
 __lock_acquire+0x1295/0x1ff0 kernel/locking/lockdep.c:5012
 lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623
 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline]
 _raw_spin_lock_bh+0x31/0x40 kernel/locking/spinlock.c:178
 __sock_map_delete net/core/sock_map.c:419 [inline]
 sock_map_delete_elem+0x161/0x230 net/core/sock_map.c:451
 bpf_prog_2c29ac5cdc6b1842+0x3a/0x508
 bpf_dispatcher_nop_func include/linux/bpf.h:790 [inline]
 __bpf_prog_run include/linux/filter.h:628 [inline]
 bpf_prog_run include/linux/filter.h:635 [inline]
 __bpf_trace_run kernel/trace/bpf_trace.c:1880 [inline]
 bpf_trace_run2+0x19e/0x340 kernel/trace/bpf_trace.c:1917
 __bpf_trace_kfree+0x6e/0x90 include/trace/events/kmem.h:118
 trace_kfree include/trace/events/kmem.h:118 [inline]
 kfree+0x22f/0x270 mm/slub.c:4549
 sk_psock_free_link include/linux/skmsg.h:422 [inline]
 sock_map_del_link net/core/sock_map.c:160 [inline]
 sock_map_unref+0x3ac/0x5d0 net/core/sock_map.c:182
 __sock_map_delete net/core/sock_map.c:425 [inline]
 sock_map_delete_elem+0x191/0x230 net/core/sock_map.c:451
 bpf_prog_2c29ac5cdc6b1842+0x3a/0x508
 bpf_dispatcher_nop_func include/linux/bpf.h:790 [inline]
 __bpf_prog_run include/linux/filter.h:628 [inline]
 bpf_prog_run include/linux/filter.h:635 [inline]
 __bpf_trace_run kernel/trace/bpf_trace.c:1880 [inline]
 bpf_trace_run2+0x19e/0x340 kernel/trace/bpf_trace.c:1917
 __bpf_trace_kfree+0x6e/0x90 include/trace/events/kmem.h:118
 trace_kfree include/trace/events/kmem.h:118 [inline]
 kfree+0x22f/0x270 mm/slub.c:4549
 security_task_free+0x96/0xc0 security/security.c:1691
 __put_task_struct+0xf4/0x2b0 kernel/fork.c:756
 rcu_do_batch kernel/rcu/tree.c:2523 [inline]
 rcu_core+0xa15/0x1650 kernel/rcu/tree.c:2763
 __do_softirq+0x3b3/0x93a kernel/softirq.c:558
 run_ksoftirqd+0xc1/0x120 kernel/softirq.c:921
 smpboot_thread_fn+0x51b/0x9d0 kernel/smpboot.c:164
 kthread+0x3f6/0x4f0 kernel/kthread.c:334
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:300
 </TASK>

Crashes (49):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/05/06 15:55 linux-5.15.y 284087d4f7d5 d884b519 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/05/05 19:50 linux-5.15.y 284087d4f7d5 610f2a54 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/05/05 16:30 linux-5.15.y 284087d4f7d5 610f2a54 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/05/05 09:51 linux-5.15.y 284087d4f7d5 610f2a54 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/05/05 06:09 linux-5.15.y 284087d4f7d5 610f2a54 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/05/03 02:40 linux-5.15.y 284087d4f7d5 ddfc15a1 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/30 21:45 linux-5.15.y b925f60c6ee7 3ce4924c .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/30 09:58 linux-5.15.y b925f60c6ee7 f10afd69 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/30 01:15 linux-5.15.y b925f60c6ee7 f10afd69 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/28 21:45 linux-5.15.y b925f60c6ee7 07b455f9 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/28 17:33 linux-5.15.y b925f60c6ee7 07b455f9 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/25 10:10 linux-5.15.y c52b9710c83d 8bdc0f22 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/24 00:27 linux-5.15.y c52b9710c83d 21339d7b .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/23 05:08 linux-5.15.y c52b9710c83d 36c961ad .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/23 01:48 linux-5.15.y c52b9710c83d 36c961ad .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/22 17:56 linux-5.15.y c52b9710c83d 36c961ad .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/22 15:39 linux-5.15.y c52b9710c83d 36c961ad .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/22 15:02 linux-5.15.y c52b9710c83d 36c961ad .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/17 03:15 linux-5.15.y fa3df276cd36 18f6e127 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/16 06:53 linux-5.15.y fa3df276cd36 0d592ce4 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/05 08:47 linux-5.15.y 9465fef4ae35 0ee3535e .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/05 04:41 linux-5.15.y 9465fef4ae35 0ee3535e .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/05 00:38 linux-5.15.y 9465fef4ae35 0ee3535e .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/04 17:59 linux-5.15.y 9465fef4ae35 0ee3535e .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/04 16:33 linux-5.15.y 9465fef4ae35 0ee3535e .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sock_map_delete_elem
2024/05/05 09:22 linux-5.15.y 284087d4f7d5 610f2a54 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sock_map_delete_elem
2024/05/04 23:12 linux-5.15.y 284087d4f7d5 610f2a54 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sock_map_delete_elem
2024/05/04 02:53 linux-5.15.y 284087d4f7d5 610f2a54 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sock_map_delete_elem
2024/05/01 19:00 linux-5.15.y b925f60c6ee7 3ba885bc .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/30 12:48 linux-5.15.y b925f60c6ee7 3ce4924c .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/29 02:28 linux-5.15.y b925f60c6ee7 07b455f9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/29 02:26 linux-5.15.y b925f60c6ee7 07b455f9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/29 01:48 linux-5.15.y b925f60c6ee7 07b455f9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/28 13:14 linux-5.15.y b925f60c6ee7 07b455f9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sock_map_delete_elem
2024/04/28 12:40 linux-5.15.y b925f60c6ee7 07b455f9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sock_map_delete_elem
2024/04/28 04:32 linux-5.15.y b925f60c6ee7 07b455f9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sock_map_delete_elem
2024/04/27 12:39 linux-5.15.y c52b9710c83d 07b455f9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sock_map_delete_elem
2024/04/22 18:18 linux-5.15.y c52b9710c83d 36c961ad .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/22 15:30 linux-5.15.y c52b9710c83d 36c961ad .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sock_map_delete_elem
2024/04/22 13:24 linux-5.15.y c52b9710c83d 36c961ad .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/16 14:42 linux-5.15.y fa3df276cd36 0d592ce4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/16 02:23 linux-5.15.y fa3df276cd36 b9af7e61 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/13 13:51 linux-5.15.y fa3df276cd36 c8349e48 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sock_map_delete_elem
2024/04/11 21:17 linux-5.15.y cdfd0a7f0139 95ed9ece .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/11 21:16 linux-5.15.y cdfd0a7f0139 95ed9ece .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
2024/04/04 15:08 linux-5.15.y 9465fef4ae35 0ee3535e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sock_map_delete_elem
2024/03/29 21:35 linux-5.15.y 9465fef4ae35 c52bcb23 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sock_map_delete_elem
2024/03/21 17:44 linux-5.15.y b95c01af2113 7a239ce7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf possible deadlock in sock_map_delete_elem
* Struck through repros no longer work on HEAD.