syzbot


inconsistent lock state in trie_delete_elem

Status: upstream: reported C repro on 2025/12/04 20:31
Bug presence: origin:lts-only
[Documentation on labels]
Reported-by: syzbot+c6034ccd86fad3483e8c@syzkaller.appspotmail.com
First crash: 161d, last: 1h34m
Fix bisection: the issue occurs on the latest tested release (bisect log)
Crash: inconsistent lock state in trie_delete_elem (log)
Repro: C syz .config
  
Bug presence (2)
Date Name Commit Repro Result
2025/12/05 linux-6.6.y (ToT) 4791134e4aeb C [report] inconsistent lock state in trie_delete_elem
2025/12/05 upstream (ToT) bc69ed975203 C Didn't crash
Similar bugs (2)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-6.1 inconsistent lock state in trie_delete_elem origin:lts-only 4 C error 12 9d23h 161d 0/3 upstream: reported C repro on 2025/12/04 16:53
linux-5.15 inconsistent lock state in trie_delete_elem origin:lts-only 4 C error 497 2h32m 161d 0/3 upstream: reported C repro on 2025/12/04 17:55
Fix bisection attempts (5)
Created Duration User Patch Repo Result
2026/05/08 04:01 14m fix candidate upstream error job log
2026/03/25 00:23 1m fix candidate upstream error job log
2026/02/21 17:57 1m fix candidate upstream error job log
2026/01/22 08:42 1m fix candidate upstream error job log
2026/01/06 11:13 1h48m bisect fix linux-6.6.y OK (0) job log log

Sample crash report:
================================
WARNING: inconsistent lock state
syzkaller #0 Not tainted
--------------------------------
inconsistent {INITIAL USE} -> {IN-NMI} usage.
syz.0.17/5921 [HC1[1]:SC0[0]:HE0:SE1] takes:
ffff88801cf19a38 (&trie->lock){....}-{2:2}, at: trie_delete_elem+0x96/0x6a0 kernel/bpf/lpm_trie.c:467
{INITIAL USE} state was registered at:
  lock_acquire+0x19e/0x420 kernel/locking/lockdep.c:5754
  __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
  _raw_spin_lock_irqsave+0xb4/0x100 kernel/locking/spinlock.c:162
  trie_update_elem+0xcd/0xea0 kernel/bpf/lpm_trie.c:335
  bpf_map_update_value+0x660/0x720 kernel/bpf/syscall.c:203
  generic_map_update_batch+0x5ec/0x810 kernel/bpf/syscall.c:1800
  bpf_map_do_batch+0x3d7/0x610 kernel/bpf/syscall.c:5010
  __sys_bpf+0x381/0x890 kernel/bpf/syscall.c:-1
  __do_sys_bpf kernel/bpf/syscall.c:5581 [inline]
  __se_sys_bpf kernel/bpf/syscall.c:5579 [inline]
  __x64_sys_bpf+0x7c/0x90 kernel/bpf/syscall.c:5579
  do_syscall_x64 arch/x86/entry/common.c:46 [inline]
  do_syscall_64+0x55/0xa0 arch/x86/entry/common.c:76
  entry_SYSCALL_64_after_hwframe+0x68/0xd2
irq event stamp: 1986
hardirqs last  enabled at (1985): [<ffffffff8a865185>] syscall_enter_from_user_mode+0x25/0x80 kernel/entry/common.c:117
hardirqs last disabled at (1986): [<ffffffff8a861903>] exc_debug_kernel arch/x86/kernel/traps.c:1063 [inline]
hardirqs last disabled at (1986): [<ffffffff8a861903>] exc_debug+0x73/0x140 arch/x86/kernel/traps.c:1199
softirqs last  enabled at (1930): [<ffffffff819660d6>] bpf_prog_load+0x1266/0x1670 kernel/bpf/syscall.c:2779
softirqs last disabled at (1928): [<ffffffff819469cd>] spin_lock_bh include/linux/spinlock.h:356 [inline]
softirqs last disabled at (1928): [<ffffffff819469cd>] bpf_ksym_add+0x2d/0x340 kernel/bpf/core.c:655

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

       CPU0
       ----
  lock(&trie->lock);
  <Interrupt>
    lock(&trie->lock);

 *** DEADLOCK ***

no locks held by syz.0.17/5921.

stack backtrace:
CPU: 0 PID: 5921 Comm: syz.0.17 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/18/2026
Call Trace:
 <#DB>
 dump_stack_lvl+0x18c/0x250 lib/dump_stack.c:106
 lock_acquire+0x2c2/0x420 kernel/locking/lockdep.c:5745
 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
 _raw_spin_lock_irqsave+0xb4/0x100 kernel/locking/spinlock.c:162
 trie_delete_elem+0x96/0x6a0 kernel/bpf/lpm_trie.c:467
 bpf_prog_2c29ac5cdc6b1842+0x42/0x46
 bpf_dispatcher_nop_func include/linux/bpf.h:1224 [inline]
 __bpf_prog_run include/linux/filter.h:616 [inline]
 bpf_prog_run include/linux/filter.h:623 [inline]
 bpf_overflow_handler+0x1fc/0x510 kernel/events/core.c:10584
 __perf_event_overflow+0x447/0x630 kernel/events/core.c:9720
 perf_swevent_overflow kernel/events/core.c:9803 [inline]
 perf_swevent_event+0x319/0x570 kernel/events/core.c:9854
 perf_bp_event+0x319/0x430 kernel/events/core.c:10781
 hw_breakpoint_handler arch/x86/kernel/hw_breakpoint.c:555 [inline]
 hw_breakpoint_exceptions_notify+0x23e/0x670 arch/x86/kernel/hw_breakpoint.c:586
 notifier_call_chain+0x197/0x380 kernel/notifier.c:93
 atomic_notifier_call_chain+0xda/0x180 kernel/notifier.c:231
 notify_die+0x145/0x1a0 kernel/notifier.c:596
 notify_debug+0x2e/0x50 arch/x86/kernel/traps.c:1042
 exc_debug_kernel arch/x86/kernel/traps.c:1099 [inline]
 exc_debug+0xde/0x140 arch/x86/kernel/traps.c:1199
 asm_exc_debug+0x1e/0x40 arch/x86/include/asm/idtentry.h:644
RIP: 0010:rep_movs_alternative+0x4a/0x90 arch/x86/lib/copy_user_64.S:71
Code: 75 f1 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 48 8b 06 48 89 07 48 83 c6 08 48 83 c7 08 83 e9 08 74 df 83 f9 08 73 e8 eb c9 <f3> a4 c3 48 8b 06 48 89 07 48 8d 47 08 48 83 e0 f8 48 29 f8 48 01
RSP: 0018:ffffc900015e7d50 EFLAGS: 00050202
RAX: ffffffff842a2001 RBX: 0000000000000048 RCX: 0000000000000007
RDX: 0000000000000001 RSI: 0000200000000301 RDI: ffffc900015e7e01
RBP: ffffc900015e7ee8 R08: ffffc900015e7e07 R09: 1ffff920002bcfc0
R10: dffffc0000000000 R11: fffff520002bcfc1 R12: 0000200000000308
R13: 0000000000000048 R14: ffffc900015e7dc0 R15: 00002000000002c0
 </#DB>
 <TASK>
 copy_user_generic arch/x86/include/asm/uaccess_64.h:112 [inline]
 raw_copy_from_user arch/x86/include/asm/uaccess_64.h:127 [inline]
 _copy_from_user+0x8b/0xe0 lib/usercopy.c:23
 copy_from_user include/linux/uaccess.h:183 [inline]
 copy_from_bpfptr_offset include/linux/bpfptr.h:53 [inline]
 copy_from_bpfptr include/linux/bpfptr.h:59 [inline]
 __sys_bpf+0x23e/0x890 kernel/bpf/syscall.c:5450
 __do_sys_bpf kernel/bpf/syscall.c:5581 [inline]
 __se_sys_bpf kernel/bpf/syscall.c:5579 [inline]
 __x64_sys_bpf+0x7c/0x90 kernel/bpf/syscall.c:5579
 do_syscall_x64 arch/x86/entry/common.c:46 [inline]
 do_syscall_64+0x55/0xa0 arch/x86/entry/common.c:76
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f935819cdd9
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:00007fffbcc8b058 EFLAGS: 00000246 ORIG_RAX: 0000000000000141
RAX: ffffffffffffffda RBX: 00007f9358415fa0 RCX: 00007f935819cdd9
RDX: 0000000000000048 RSI: 00002000000002c0 RDI: 0000000000000000
RBP: 00007f9358232d69 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f9358415fac R14: 00007f9358415fa0 R15: 00007f9358415fa0
 </TASK>
----------------
Code disassembly (best guess):
   0:	75 f1                	jne    0xfffffff3
   2:	c3                   	ret
   3:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
   a:	00 00 00
   d:	0f 1f 00             	nopl   (%rax)
  10:	48 8b 06             	mov    (%rsi),%rax
  13:	48 89 07             	mov    %rax,(%rdi)
  16:	48 83 c6 08          	add    $0x8,%rsi
  1a:	48 83 c7 08          	add    $0x8,%rdi
  1e:	83 e9 08             	sub    $0x8,%ecx
  21:	74 df                	je     0x2
  23:	83 f9 08             	cmp    $0x8,%ecx
  26:	73 e8                	jae    0x10
  28:	eb c9                	jmp    0xfffffff3
* 2a:	f3 a4                	rep movsb %ds:(%rsi),%es:(%rdi) <-- trapping instruction
  2c:	c3                   	ret
  2d:	48 8b 06             	mov    (%rsi),%rax
  30:	48 89 07             	mov    %rax,(%rdi)
  33:	48 8d 47 08          	lea    0x8(%rdi),%rax
  37:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
  3b:	48 29 f8             	sub    %rdi,%rax
  3e:	48                   	rex.W
  3f:	01                   	.byte 0x1

Crashes (42):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/04/27 03:47 linux-6.6.y 9760bf04666d 9c2d0995 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/01/16 15:59 linux-6.6.y c596736dadab d6526ea3 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/01/16 03:57 linux-6.6.y c596736dadab d6526ea3 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/01/15 21:32 linux-6.6.y c596736dadab d6526ea3 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/01/15 09:11 linux-6.6.y c596736dadab d6526ea3 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/01/15 08:13 linux-6.6.y c596736dadab d6526ea3 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/01/15 06:51 linux-6.6.y c596736dadab d6526ea3 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2025/12/04 21:45 linux-6.6.y 4791134e4aeb d6526ea3 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2025/12/04 20:30 linux-6.6.y 4791134e4aeb d6526ea3 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/05 04:50 linux-6.6.y 258cf62a6dfd a898ba9c .config console log report syz / log [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/04 14:52 linux-6.6.y 258cf62a6dfd 85f1bcf2 .config console log report syz / log [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/15 04:03 linux-6.6.y 3b9f64db0496 6ccb967e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/14 08:03 linux-6.6.y 3b9f64db0496 6ccb967e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/12 17:53 linux-6.6.y 3b9f64db0496 07aeade5 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/11 05:19 linux-6.6.y 3b9f64db0496 29233ece .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/10 13:16 linux-6.6.y 3b9f64db0496 29233ece .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/10 11:38 linux-6.6.y 3b9f64db0496 29233ece .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/09 19:56 linux-6.6.y 3b9f64db0496 29233ece .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/07 09:39 linux-6.6.y 258cf62a6dfd f250db59 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/07 04:46 linux-6.6.y 258cf62a6dfd f250db59 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/05 19:03 linux-6.6.y 258cf62a6dfd 06e69a27 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/05 08:23 linux-6.6.y 258cf62a6dfd a898ba9c .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/04 00:17 linux-6.6.y 258cf62a6dfd a0d91488 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/04 00:09 linux-6.6.y 258cf62a6dfd a0d91488 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/03 23:53 linux-6.6.y 258cf62a6dfd a0d91488 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/03 22:11 linux-6.6.y 258cf62a6dfd a0d91488 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/03 21:30 linux-6.6.y 258cf62a6dfd a0d91488 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/03 12:59 linux-6.6.y 258cf62a6dfd a0d91488 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/03 06:50 linux-6.6.y 258cf62a6dfd a0d91488 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/03 04:15 linux-6.6.y 258cf62a6dfd a0d91488 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/01 22:28 linux-6.6.y 258cf62a6dfd 753c55b9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/01 16:19 linux-6.6.y 258cf62a6dfd 753c55b9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/01 15:55 linux-6.6.y 258cf62a6dfd 753c55b9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/04/30 20:29 linux-6.6.y 258cf62a6dfd a7464baf .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/04/29 07:24 linux-6.6.y 142cd8382222 95008c03 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/04/27 20:47 linux-6.6.y 142cd8382222 0f700595 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/04/27 06:44 linux-6.6.y 9760bf04666d 9c2d0995 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/04/27 02:41 linux-6.6.y 9760bf04666d 9c2d0995 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/04/25 10:42 linux-6.6.y 9760bf04666d 9c2d0995 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/04/23 09:15 linux-6.6.y 9760bf04666d b10da5ec .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/04/23 08:01 linux-6.6.y 9760bf04666d b10da5ec .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
2026/04/23 06:27 linux-6.6.y 9760bf04666d b10da5ec .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf inconsistent lock state in trie_delete_elem
* Struck through repros no longer work on HEAD.