inconsistent lock state in trie_delete_elem

Status: upstream: reported C repro on 2025/12/04 16:53
Bug presence: origin:lts-only
[Documentation on labels]
Reported-by: syzbot+3af6f74a5ba50ad4b13d@syzkaller.appspotmail.com
First crash: 268d, last: 2d19h
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.1.y (ToT) f6e38ae624cf C [report] inconsistent lock state in trie_delete_elem
2025/12/05 upstream (ToT) 2061f18ad76e C Didn't crash
Similar bugs (2)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 inconsistent lock state in trie_delete_elem origin:lts-only 4 syz, C error 1412 59m 268d 0/3 upstream: reported C repro on 2025/12/04 17:55
linux-6.6 inconsistent lock state in trie_delete_elem origin:lts-only 4 syz, C inconclusive 93 6d15h 268d 0/2 upstream: reported C repro on 2025/12/04 20:31
Fix bisection attempts (6)
Created Duration User Patch Repo Result
2026/08/03 06:46 3h28m fix candidate upstream OK (0) job log
2026/06/07 14:03 13m fix candidate upstream error job log
2026/03/27 04:55 11m fix candidate upstream error job log
2026/02/24 08:32 1m fix candidate upstream error job log
2026/01/24 11:47 4m fix candidate upstream error job log
2026/01/06 13:05 2h20m bisect fix linux-6.1.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/4426 [HC1[1]:SC0[0]:HE0:SE1] takes:
ffff88801fa7ca38 (&trie->lock){....}-{2:2}, at: trie_delete_elem+0x8e/0x620 kernel/bpf/lpm_trie.c:466
{INITIAL USE} state was registered at:
  lock_acquire+0x1bb/0x4a0 kernel/locking/lockdep.c:5676
  __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
  _raw_spin_lock_irqsave+0xb0/0x100 kernel/locking/spinlock.c:162
  trie_delete_elem+0x8e/0x620 kernel/bpf/lpm_trie.c:466
  bpf_prog_1db1603a7cfa36fb+0x3d/0x41
  bpf_dispatcher_nop_func include/linux/bpf.h:1012 [inline]
  __bpf_prog_run include/linux/filter.h:608 [inline]
  bpf_prog_run include/linux/filter.h:615 [inline]
  bpf_overflow_handler+0x50b/0x790 kernel/events/core.c:10321
  __perf_event_overflow+0x457/0x630 kernel/events/core.c:9496
  perf_swevent_overflow kernel/events/core.c:9579 [inline]
  perf_swevent_event+0x315/0x570 kernel/events/core.c:9630
  perf_bp_event+0x311/0x3f0 kernel/events/core.c:10518
  hw_breakpoint_handler arch/x86/kernel/hw_breakpoint.c:555 [inline]
  hw_breakpoint_exceptions_notify+0x14d/0x470 arch/x86/kernel/hw_breakpoint.c:586
  notifier_call_chain kernel/notifier.c:87 [inline]
  atomic_notifier_call_chain+0x17a/0x2b0 kernel/notifier.c:225
  notify_die+0x141/0x1a0 kernel/notifier.c:593
  notify_debug+0x20/0x30 arch/x86/kernel/traps.c:1018
  exc_debug_user arch/x86/kernel/traps.c:1144 [inline]
  noist_exc_debug+0x73/0x120 arch/x86/kernel/traps.c:1181
  asm_exc_debug+0x2f/0x40 arch/x86/include/asm/idtentry.h:648
irq event stamp: 7822
hardirqs last  enabled at (7821): [<ffffffff8a30eec1>] syscall_enter_from_user_mode+0x21/0x80 kernel/entry/common.c:117
hardirqs last disabled at (7822): [<ffffffff8a30bbae>] exc_debug_kernel arch/x86/kernel/traps.c:1039 [inline]
hardirqs last disabled at (7822): [<ffffffff8a30bbae>] exc_debug+0x6e/0x130 arch/x86/kernel/traps.c:1175
softirqs last  enabled at (7778): [<ffffffff81907ebd>] bpf_prog_load+0x111d/0x1530 kernel/bpf/syscall.c:2677
softirqs last disabled at (7776): [<ffffffff818ebd78>] spin_lock_bh include/linux/spinlock.h:356 [inline]
softirqs last disabled at (7776): [<ffffffff818ebd78>] bpf_ksym_add+0x28/0x330 kernel/bpf/core.c:650

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/4426.

stack backtrace:
CPU: 0 PID: 4426 Comm: syz.0.17 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
 <#DB>
 dump_stack_lvl+0x188/0x24e lib/dump_stack.c:106
 lock_acquire+0x2df/0x4a0 kernel/locking/lockdep.c:5667
 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
 _raw_spin_lock_irqsave+0xb0/0x100 kernel/locking/spinlock.c:162
 trie_delete_elem+0x8e/0x620 kernel/bpf/lpm_trie.c:466
 bpf_prog_1db1603a7cfa36fb+0x3d/0x41
 bpf_dispatcher_nop_func include/linux/bpf.h:1012 [inline]
 __bpf_prog_run include/linux/filter.h:608 [inline]
 bpf_prog_run include/linux/filter.h:615 [inline]
 bpf_overflow_handler+0x50b/0x790 kernel/events/core.c:10321
 __perf_event_overflow+0x457/0x630 kernel/events/core.c:9496
 perf_swevent_overflow kernel/events/core.c:9579 [inline]
 perf_swevent_event+0x315/0x570 kernel/events/core.c:9630
 perf_bp_event+0x311/0x3f0 kernel/events/core.c:10518
 hw_breakpoint_handler arch/x86/kernel/hw_breakpoint.c:555 [inline]
 hw_breakpoint_exceptions_notify+0x14d/0x470 arch/x86/kernel/hw_breakpoint.c:586
 notifier_call_chain kernel/notifier.c:87 [inline]
 atomic_notifier_call_chain+0x17a/0x2b0 kernel/notifier.c:225
 notify_die+0x141/0x1a0 kernel/notifier.c:593
 notify_debug+0x20/0x30 arch/x86/kernel/traps.c:1018
 exc_debug_kernel arch/x86/kernel/traps.c:1075 [inline]
 exc_debug+0xd9/0x130 arch/x86/kernel/traps.c:1175
 asm_exc_debug+0x1a/0x40 arch/x86/include/asm/idtentry.h:648
RIP: 0010:copy_user_short_string+0xd/0x40 arch/x86/lib/copy_user_64.S:233
Code: 74 0a 89 d1 f3 a4 89 c8 0f 01 ca c3 89 d0 0f 01 ca c3 01 ca eb e7 90 90 90 90 90 90 90 89 d1 83 e2 07 c1 e9 03 74 12 4c 8b 06 <4c> 89 07 48 8d 76 08 48 8d 7f 08 ff c9 75 ee 21 d2 74 10 89 d1 8a
RSP: 0018:ffffc90003187d48 EFLAGS: 00040202
RAX: ffffffff8415d901 RBX: 0000000000000020 RCX: 0000000000000004
RDX: 0000000000000000 RSI: 0000200000000300 RDI: ffffc90003187dc0
RBP: 0000000000000000 R08: 0000000affffffff R09: 1ffff92000630fbb
R10: dffffc0000000000 R11: fffff52000630fbc R12: 00007fffffffefe0
R13: 0000000000000020 R14: ffffc90003187dc0 R15: 0000200000000300
 </#DB>
 <TASK>
 copy_user_generic arch/x86/include/asm/uaccess_64.h:37 [inline]
 raw_copy_from_user arch/x86/include/asm/uaccess_64.h:52 [inline]
 _copy_from_user+0xf4/0x170 lib/usercopy.c:23
 copy_from_user include/linux/uaccess.h:161 [inline]
 copy_from_bpfptr_offset include/linux/bpfptr.h:53 [inline]
 copy_from_bpfptr include/linux/bpfptr.h:59 [inline]
 __sys_bpf+0x2ea/0x780 kernel/bpf/syscall.c:5005
 __do_sys_bpf kernel/bpf/syscall.c:5136 [inline]
 __se_sys_bpf kernel/bpf/syscall.c:5134 [inline]
 __x64_sys_bpf+0x78/0x90 kernel/bpf/syscall.c:5134
 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:0x7fb3d819e0d9
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:00007ffefade5d38 EFLAGS: 00000246 ORIG_RAX: 0000000000000141
RAX: ffffffffffffffda RBX: 00007fb3d8425fa0 RCX: 00007fb3d819e0d9
RDX: 0000000000000020 RSI: 0000200000000300 RDI: 0000000000000009
RBP: 00007fb3d8235024 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fb3d8425fac R14: 00007fb3d8425fa0 R15: 00007fb3d8425fa0
 </TASK>
----------------
Code disassembly (best guess):
   0:	74 0a                	je     0xc
   2:	89 d1                	mov    %edx,%ecx
   4:	f3 a4                	rep movsb %ds:(%rsi),%es:(%rdi)
   6:	89 c8                	mov    %ecx,%eax
   8:	0f 01 ca             	clac
   b:	c3                   	ret
   c:	89 d0                	mov    %edx,%eax
   e:	0f 01 ca             	clac
  11:	c3                   	ret
  12:	01 ca                	add    %ecx,%edx
  14:	eb e7                	jmp    0xfffffffd
  16:	90                   	nop
  17:	90                   	nop
  18:	90                   	nop
  19:	90                   	nop
  1a:	90                   	nop
  1b:	90                   	nop
  1c:	90                   	nop
  1d:	89 d1                	mov    %edx,%ecx
  1f:	83 e2 07             	and    $0x7,%edx
  22:	c1 e9 03             	shr    $0x3,%ecx
  25:	74 12                	je     0x39
  27:	4c 8b 06             	mov    (%rsi),%r8
* 2a:	4c 89 07             	mov    %r8,(%rdi) <-- trapping instruction
  2d:	48 8d 76 08          	lea    0x8(%rsi),%rsi
  31:	48 8d 7f 08          	lea    0x8(%rdi),%rdi
  35:	ff c9                	dec    %ecx
  37:	75 ee                	jne    0x27
  39:	21 d2                	and    %edx,%edx
  3b:	74 10                	je     0x4d
  3d:	89 d1                	mov    %edx,%ecx
  3f:	8a                   	.byte 0x8a

Crashes (81):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/23 12:09 linux-6.1.y 7e6e67054721 1e72964b .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/08/12 23:06 linux-6.1.y e4f7d8be268e 359b2492 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/01/16 16:05 linux-6.1.y bec0e10ee67e d6526ea3 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/01/15 14:39 linux-6.1.y bec0e10ee67e d6526ea3 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2025/12/04 17:57 linux-6.1.y f6e38ae624cf d6526ea3 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2025/12/04 16:53 linux-6.1.y f6e38ae624cf d6526ea3 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/05 06:05 linux-6.1.y 4931e0e1673d a898ba9c .config console log report syz / log [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/05/04 15:08 linux-6.1.y 4931e0e1673d 85f1bcf2 .config console log report syz / log [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/08/27 08:13 linux-6.1.y 05208478041c a2b77b9e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/08/27 07:53 linux-6.1.y 05208478041c a2b77b9e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/08/27 04:39 linux-6.1.y 05208478041c a2b77b9e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/08/17 08:06 linux-6.1.y e4f7d8be268e 746171ee .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/08/07 03:57 linux-6.1.y 03f3a99e8e93 c38879ea .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/08/06 23:13 linux-6.1.y 03f3a99e8e93 c38879ea .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/08/06 00:22 linux-6.1.y fb28aa725e05 cd5b1963 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/08/05 17:30 linux-6.1.y fb28aa725e05 52aa2820 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/08/05 15:02 linux-6.1.y fb28aa725e05 52aa2820 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/08/05 12:01 linux-6.1.y fb28aa725e05 52aa2820 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/08/04 20:05 linux-6.1.y fb28aa725e05 d4abbeac .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/08/04 02:36 linux-6.1.y fb28aa725e05 9451e17e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/08/03 08:32 linux-6.1.y fb28aa725e05 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/08/02 19:49 linux-6.1.y fb28aa725e05 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/08/01 13:39 linux-6.1.y fb28aa725e05 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/08/01 07:07 linux-6.1.y fb28aa725e05 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/31 09:04 linux-6.1.y fb28aa725e05 aaffb173 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/31 08:29 linux-6.1.y fb28aa725e05 aaffb173 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/30 06:59 linux-6.1.y 1016ca6176ee 6ef5c1e2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/29 03:41 linux-6.1.y dc5c83b7f5f8 19622d9d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/28 11:00 linux-6.1.y dc5c83b7f5f8 45ae1df4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/28 07:26 linux-6.1.y dc5c83b7f5f8 45ae1df4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/28 05:24 linux-6.1.y dc5c83b7f5f8 45ae1df4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/27 18:07 linux-6.1.y dc5c83b7f5f8 aae9036b .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/27 10:00 linux-6.1.y dc5c83b7f5f8 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/27 03:11 linux-6.1.y dc5c83b7f5f8 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/27 00:52 linux-6.1.y dc5c83b7f5f8 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/26 22:46 linux-6.1.y dc5c83b7f5f8 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/26 21:24 linux-6.1.y dc5c83b7f5f8 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/26 20:04 linux-6.1.y dc5c83b7f5f8 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/26 19:18 linux-6.1.y dc5c83b7f5f8 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/26 11:21 linux-6.1.y dc5c83b7f5f8 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/26 10:59 linux-6.1.y dc5c83b7f5f8 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/26 09:08 linux-6.1.y dc5c83b7f5f8 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/26 07:04 linux-6.1.y dc5c83b7f5f8 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/26 02:59 linux-6.1.y dc5c83b7f5f8 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/26 02:05 linux-6.1.y dc5c83b7f5f8 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/25 16:58 linux-6.1.y dc5c83b7f5f8 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/25 16:29 linux-6.1.y dc5c83b7f5f8 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/25 16:22 linux-6.1.y dc5c83b7f5f8 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/25 15:28 linux-6.1.y dc5c83b7f5f8 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/07/25 00:16 linux-6.1.y dc5c83b7f5f8 dd737a83 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/03/28 06:32 linux-6.1.y 1989cd3d56e2 356bdfc9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
2026/02/05 08:10 linux-6.1.y cd9b81672742 ea10c935 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf inconsistent lock state in trie_delete_elem
* Struck through repros no longer work on HEAD.