possible deadlock in __bpf_ringbuf_reserve

Status: upstream: reported C repro on 2024/03/08 23:13
Bug presence: origin:upstream
Labels: missing-backport
[Documentation on labels]
Reported-by: syzbot+f85ef54ebfb2b7619272@syzkaller.appspotmail.com
First crash: 974d, last: 1d01h
Fix bisection: the issue occurs on the latest tested release (bisect log)
Crash: possible deadlock in __bpf_ringbuf_reserve (log)
Repro: C syz .config
  
▶ ▼ Bug presence (3)
Date Name Commit Repro Result
2025/01/23 linux-6.1.y (ToT) f4f677285b38 C [report] possible deadlock in __bpf_ringbuf_reserve
2024/03/09 upstream (ToT) 10d48d70e82d C [report] possible deadlock in __bpf_ringbuf_reserve
2025/01/23 upstream (ToT) 7004a2e46d16 C Didn't crash
▶ ▼ Similar bugs (5)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 possible deadlock in __bpf_ringbuf_reserve (2) origin:lts-only 4 syz, C error 2 34d 161d 0/3 upstream: reported C repro on 2026/05/31 03:49
upstream possible deadlock in __bpf_ringbuf_reserve (2) bpf 4 syz, C done error 22 424d 439d 0/29 auto-obsoleted due to no activity on 2025/11/18 12:07
linux-5.15 possible deadlock in __bpf_ringbuf_reserve 4 1 429d 429d 0/3 auto-obsoleted due to no activity on 2025/12/13 22:27
linux-6.6 possible deadlock in __bpf_ringbuf_reserve origin:lts-only 4 syz, C inconclusive 36 290d 491d 0/2 upstream: reported C repro on 2025/07/04 03:51
upstream possible deadlock in __bpf_ringbuf_reserve bpf 4 syz, C error 2490 565d 970d 28/29 fixed on 2025/06/10 16:19
▶ ▼ Fix bisection attempts (6)
Created Duration User Patch Repo Result
2025/04/27 19:32 2h44m fix candidate upstream OK (0) job log
2025/01/18 17:22 1h29m bisect fix linux-6.1.y OK (0) job log log
2024/11/26 16:19 3h02m bisect fix linux-6.1.y OK (0) job log log
2024/10/20 11:45 3h30m bisect fix linux-6.1.y OK (0) job log log
2024/09/19 04:24 1h31m bisect fix linux-6.1.y OK (0) job log log
2024/04/09 05:19 1h54m bisect fix linux-6.1.y OK (0) job log log

Sample crash report:
============================================
WARNING: possible recursive locking detected
syzkaller #0 Not tainted
--------------------------------------------
syz.0.17/4468 is trying to acquire lock:
ffffc900034390d8 (&rb->spinlock){-.-.}-{2:2}, at: __bpf_ringbuf_reserve+0x1d5/0x5c0 kernel/bpf/ringbuf.c:415

but task is already holding lock:
ffffc9000344d0d8 (&rb->spinlock){-.-.}-{2:2}, at: __bpf_ringbuf_reserve+0x1d5/0x5c0 kernel/bpf/ringbuf.c:415

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

       CPU0
       ----
  lock(&rb->spinlock);
  lock(&rb->spinlock);

 *** DEADLOCK ***

 May be due to missing lock nesting notation

3 locks held by syz.0.17/4468:
 #0: ffffffff8db2daa0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:350 [inline]
 #0: ffffffff8db2daa0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:791 [inline]
 #0: ffffffff8db2daa0 (rcu_read_lock){....}-{1:2}, at: bpf_test_timer_enter+0x1a/0x140 net/bpf/test_run.c:36
 #1: ffffc9000344d0d8 (&rb->spinlock){-.-.}-{2:2}, at: __bpf_ringbuf_reserve+0x1d5/0x5c0 kernel/bpf/ringbuf.c:415
 #2: ffffffff8db2daa0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:350 [inline]
 #2: ffffffff8db2daa0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:791 [inline]
 #2: ffffffff8db2daa0 (rcu_read_lock){....}-{1:2}, at: trace_call_bpf+0xbf/0x6b0 kernel/trace/bpf_trace.c:134

stack backtrace:
CPU: 1 PID: 4468 Comm: syz.0.17 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/15/2026
Call Trace:
 <TASK>
 dump_stack_lvl+0x188/0x24e lib/dump_stack.c:106
 check_deadlock kernel/locking/lockdep.c:3090 [inline]
 validate_chain kernel/locking/lockdep.c:3884 [inline]
 __lock_acquire+0x690e/0x7ea0 kernel/locking/lockdep.c:5171
 lock_acquire+0x1bc/0x4a0 kernel/locking/lockdep.c:5790
 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
 _raw_spin_lock_irqsave+0xb0/0x100 kernel/locking/spinlock.c:162
 __bpf_ringbuf_reserve+0x1d5/0x5c0 kernel/bpf/ringbuf.c:415
 ____bpf_ringbuf_reserve kernel/bpf/ringbuf.c:466 [inline]
 bpf_ringbuf_reserve+0x58/0x70 kernel/bpf/ringbuf.c:458
 bpf_prog_054a37e0d8938faa+0x2d/0x4a
 bpf_dispatcher_nop_func include/linux/bpf.h:1016 [inline]
 __bpf_prog_run include/linux/filter.h:608 [inline]
 bpf_prog_run include/linux/filter.h:615 [inline]
 bpf_prog_run_array include/linux/bpf.h:1698 [inline]
 trace_call_bpf+0x322/0x6b0 kernel/trace/bpf_trace.c:135
 perf_trace_run_bpf_submit+0x79/0x1c0 kernel/events/core.c:10018
 perf_trace_lock+0x301/0x390 include/trace/events/lock.h:50
 trace_lock_release include/trace/events/lock.h:69 [inline]
 lock_release+0x8ad/0x920 kernel/locking/lockdep.c:5801
 __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:149 [inline]
 _raw_spin_unlock_irqrestore+0x6d/0x120 kernel/locking/spinlock.c:194
 __bpf_ringbuf_reserve+0x478/0x5c0 kernel/bpf/ringbuf.c:453
 ____bpf_ringbuf_reserve kernel/bpf/ringbuf.c:466 [inline]
 bpf_ringbuf_reserve+0x58/0x70 kernel/bpf/ringbuf.c:458
 bpf_prog_5f3e9484f0a4724b+0x36/0xa5
 bpf_dispatcher_nop_func include/linux/bpf.h:1016 [inline]
 __bpf_prog_run include/linux/filter.h:608 [inline]
 bpf_prog_run include/linux/filter.h:615 [inline]
 bpf_test_run+0x2b6/0x830 net/bpf/test_run.c:402
 bpf_prog_test_run_skb+0xdaf/0x18e0 net/bpf/test_run.c:1222
 bpf_prog_test_run+0x31c/0x390 kernel/bpf/syscall.c:3748
 __sys_bpf+0x62b/0x780 kernel/bpf/syscall.c:5112
 __do_sys_bpf kernel/bpf/syscall.c:5198 [inline]
 __se_sys_bpf kernel/bpf/syscall.c:5196 [inline]
 __x64_sys_bpf+0x78/0x90 kernel/bpf/syscall.c:5196
 do_syscall_x64 arch/x86/entry/common.c:46 [inline]
 do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:76
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7fb84979fb19
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffe707af8c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000141
RAX: ffffffffffffffda RBX: 00007fb849a25fa0 RCX: 00007fb84979fb19
RDX: 0000000000000050 RSI: 0000200000001dc0 RDI: 000000000000000a
RBP: 00007fb849837b70 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fb849a25fac R14: 00007fb849a25fa0 R15: 00007fb849a25fa0
 </TASK>

Crashes (93):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/11/07 02:03 linux-6.1.y c75b0cf0982c 5cecaf1f .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2026/01/21 09:50 linux-6.1.y cd9b81672742 6f1aa2f9 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2025/09/10 06:39 linux-6.1.y f97f1002271b fdeaa69b .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2025/08/07 03:36 linux-6.1.y 3594f306da12 9a42d6b1 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2025/05/25 10:02 linux-6.1.y da3c5173c55f ed351ea7 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2025/03/08 08:38 linux-6.1.y 6ae7ac5c4251 7e3bd60d .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2024/12/19 16:01 linux-6.1.y 52f863f820fd 1432fc84 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2024/05/08 20:39 linux-6.1.y 909ba1f1b414 20bf80e1 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2024/03/08 23:12 linux-6.1.y 61adba85cc40 8e75c913 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2026/11/06 23:57 linux-6.1.y c75b0cf0982c 5cecaf1f .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2025/12/09 13:03 linux-6.1.y 50cbba13faa2 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/11/16 21:23 linux-6.1.y f6e38ae624cf f7988ea4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/11/11 23:22 linux-6.1.y f6e38ae624cf 4e1406b4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/11/02 01:18 linux-6.1.y f6e38ae624cf 2c50b6a9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2025/10/29 20:01 linux-6.1.y f6e38ae624cf fd2207e7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/10/27 17:50 linux-6.1.y 8e6e2188d949 fd2207e7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/10/19 20:31 linux-6.1.y 8e6e2188d949 1c8c8cd8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/10/17 14:43 linux-6.1.y c2fda4b3f577 7adf5298 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/10/16 03:15 linux-6.1.y c2fda4b3f577 19568248 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2025/10/15 21:36 linux-6.1.y c2fda4b3f577 19568248 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/10/07 05:01 linux-6.1.y 882efbdd9d34 8ef35d49 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/09/18 15:35 linux-6.1.y 3db754f56897 e2beed91 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/09/18 00:12 linux-6.1.y 3db754f56897 e2beed91 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/09/13 19:17 linux-6.1.y 3db754f56897 e2beed91 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/04/12 23:29 linux-6.1.y 420102835862 0bd6db41 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/03/20 08:23 linux-6.1.y 344a09659766 9209bc22 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/03/18 00:45 linux-6.1.y 344a09659766 ce3352cd .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/03/15 05:48 linux-6.1.y 344a09659766 e2826670 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2025/03/13 17:56 linux-6.1.y 344a09659766 44be8b44 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/03/02 02:58 linux-6.1.y 3a8358583626 c3901742 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2025/03/02 00:46 linux-6.1.y 3a8358583626 c3901742 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2025/02/28 19:56 linux-6.1.y 3a8358583626 67cf5345 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/02/21 22:19 linux-6.1.y 3a8358583626 d34966d1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/02/21 17:22 linux-6.1.y 3a8358583626 0808a665 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/02/19 02:43 linux-6.1.y 0cbb5f65e52f 9a14138f .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/02/18 01:36 linux-6.1.y 0cbb5f65e52f 429ea007 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/02/17 13:30 linux-6.1.y 0cbb5f65e52f 4121cf9d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2025/02/15 10:00 linux-6.1.y 0cbb5f65e52f 40a34ec9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2025/01/31 21:02 linux-6.1.y 75cefdf153f5 aa47157c .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2024/08/16 23:53 linux-6.1.y 117ac406ba90 e1c76ab2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2024/08/16 16:23 linux-6.1.y 117ac406ba90 e1c76ab2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2024/08/13 09:07 linux-6.1.y 36790ef5e00b 7b0f4b46 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2024/07/25 07:36 linux-6.1.y 9b3f9a5b12dc d1a1b0ca .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2024/07/25 07:35 linux-6.1.y 9b3f9a5b12dc d1a1b0ca .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2024/07/25 07:34 linux-6.1.y 9b3f9a5b12dc d1a1b0ca .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2024/07/25 07:34 linux-6.1.y 9b3f9a5b12dc d1a1b0ca .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2024/07/13 08:29 linux-6.1.y 266ee8e06d5b eaeb5c15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2024/06/18 17:46 linux-6.1.y eb44d83053d6 639d6cdf .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2024/06/18 17:46 linux-6.1.y eb44d83053d6 639d6cdf .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2024/06/18 17:05 linux-6.1.y eb44d83053d6 639d6cdf .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf possible deadlock in __bpf_ringbuf_reserve
2024/05/29 01:12 linux-6.1.y 88690811da69 34889ee3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
2024/05/29 01:12 linux-6.1.y 88690811da69 34889ee3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __bpf_ringbuf_reserve
* Struck through repros no longer work on HEAD.