inconsistent lock state in x25_kill_by_neigh

Status: upstream: reported on 2026/08/29 00:46
Reported-by: syzbot+f4e24b88b1f7abcfbfbd@syzkaller.appspotmail.com
First crash: 3d11h, last: 15h53m
Similar bugs (2)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 inconsistent lock state in x25_kill_by_neigh 4 syz, C 8 15h40m 3d11h 0/3 upstream: reported C repro on 2026/08/29 00:21
linux-6.6 inconsistent lock state in x25_kill_by_neigh 4 syz, C 6 2d11h 2d19h 0/2 upstream: reported C repro on 2026/08/29 16:35

Sample crash report:
================================
WARNING: inconsistent lock state
syzkaller #0 Not tainted
--------------------------------
inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
ksoftirqd/1/21 [HC0[0]:SC1[1]:HE1:SE0] takes:
ffff888079a54130 (sk_lock-AF_X25){+.?.}-{0:0}, at: lock_sock include/net/sock.h:1805 [inline]
ffff888079a54130 (sk_lock-AF_X25){+.?.}-{0:0}, at: x25_kill_by_neigh+0x109/0x250 net/x25/af_x25.c:1783
{SOFTIRQ-ON-W} state was registered at:
  lock_acquire+0x1bb/0x4a0 kernel/locking/lockdep.c:5676
  lock_sock_nested+0x44/0x100 net/core/sock.c:3504
  lock_sock include/net/sock.h:1805 [inline]
  x25_bind+0x1aa/0x3e0 net/x25/af_x25.c:698
  __sys_bind+0x2e9/0x3e0 net/socket.c:1811
  __do_sys_bind net/socket.c:1822 [inline]
  __se_sys_bind net/socket.c:1820 [inline]
  __x64_sys_bind+0x76/0x80 net/socket.c:1820
  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
irq event stamp: 1779706
hardirqs last  enabled at (1779706): [<ffffffff814f3bd6>] __local_bh_enable_ip+0x136/0x1c0 kernel/softirq.c:426
hardirqs last disabled at (1779705): [<ffffffff814f3b77>] __local_bh_enable_ip+0xd7/0x1c0 kernel/softirq.c:403
softirqs last  enabled at (1779656): [<ffffffff814f6b64>] run_ksoftirqd+0xa4/0x100 kernel/softirq.c:968
softirqs last disabled at (1779661): [<ffffffff814f6b64>] run_ksoftirqd+0xa4/0x100 kernel/softirq.c:968

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

       CPU0
       ----
  lock(sk_lock-AF_X25);
  <Interrupt>
    lock(sk_lock-AF_X25);

 *** DEADLOCK ***

1 lock held by ksoftirqd/1/21:
 #0: ffffffff8cb2db60 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:350 [inline]
 #0: ffffffff8cb2db60 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:791 [inline]
 #0: ffffffff8cb2db60 (rcu_read_lock){....}-{1:2}, at: netif_receive_skb_core+0x30/0x230 net/core/dev.c:5643

stack backtrace:
CPU: 1 PID: 21 Comm: ksoftirqd/1 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
 <TASK>
 dump_stack_lvl+0x188/0x24e lib/dump_stack.c:106
 valid_state+0x13b/0x1d0 kernel/locking/lockdep.c:3974
 mark_lock_irq+0xa9/0x900 kernel/locking/lockdep.c:4177
 mark_lock+0x208/0x320 kernel/locking/lockdep.c:4633
 mark_usage kernel/locking/lockdep.c:-1 [inline]
 __lock_acquire+0xce0/0x7c40 kernel/locking/lockdep.c:5017
 lock_acquire+0x1bb/0x4a0 kernel/locking/lockdep.c:5676
 lock_sock_nested+0x44/0x100 net/core/sock.c:3504
 lock_sock include/net/sock.h:1805 [inline]
 x25_kill_by_neigh+0x109/0x250 net/x25/af_x25.c:1783
 x25_lapb_receive_frame+0x1a3/0xf20 net/x25/x25_dev.c:138
 __netif_receive_skb_one_core net/core/dev.c:5619 [inline]
 netif_receive_skb_core+0x166/0x230 net/core/dev.c:5644
 lapbeth_napi_poll+0x3e/0x80 drivers/net/wan/lapbether.c:99
 __napi_poll+0xbb/0x460 net/core/dev.c:6628
 napi_poll net/core/dev.c:6695 [inline]
 net_rx_action+0x622/0xbc0 net/core/dev.c:6809
 handle_softirqs+0x291/0x910 kernel/softirq.c:596
 run_ksoftirqd+0xa4/0x100 kernel/softirq.c:968
 smpboot_thread_fn+0x667/0xa30 kernel/smpboot.c:164
 kthread+0x29d/0x330 kernel/kthread.c:376
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
 </TASK>
BUG: sleeping function called from invalid context at net/core/sock.c:3506
in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 21, name: ksoftirqd/1
preempt_count: 100, expected: 0
RCU nest depth: 1, expected: 0
INFO: lockdep is turned off.
Preemption disabled at:
[<ffffffff814f3f6d>] softirq_handle_begin kernel/softirq.c:434 [inline]
[<ffffffff814f3f6d>] handle_softirqs+0xfd/0x910 kernel/softirq.c:572
CPU: 1 PID: 21 Comm: ksoftirqd/1 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
 <TASK>
 dump_stack_lvl+0x188/0x24e lib/dump_stack.c:106
 __might_resched+0x489/0x5f0 kernel/sched/core.c:9970
 lock_sock_nested+0x59/0x100 net/core/sock.c:3506
 lock_sock include/net/sock.h:1805 [inline]
 x25_kill_by_neigh+0x109/0x250 net/x25/af_x25.c:1783
 x25_lapb_receive_frame+0x1a3/0xf20 net/x25/x25_dev.c:138
 __netif_receive_skb_one_core net/core/dev.c:5619 [inline]
 netif_receive_skb_core+0x166/0x230 net/core/dev.c:5644
 lapbeth_napi_poll+0x3e/0x80 drivers/net/wan/lapbether.c:99
 __napi_poll+0xbb/0x460 net/core/dev.c:6628
 napi_poll net/core/dev.c:6695 [inline]
 net_rx_action+0x622/0xbc0 net/core/dev.c:6809
 handle_softirqs+0x291/0x910 kernel/softirq.c:596
 run_ksoftirqd+0xa4/0x100 kernel/softirq.c:968
 smpboot_thread_fn+0x667/0xa30 kernel/smpboot.c:164
 kthread+0x29d/0x330 kernel/kthread.c:376
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
 </TASK>

Crashes (7):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/31 20:15 linux-6.1.y d64a499eea6b 316d9396 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan inconsistent lock state in x25_kill_by_neigh
2026/08/31 20:15 linux-6.1.y d64a499eea6b 316d9396 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan inconsistent lock state in x25_kill_by_neigh
2026/08/31 20:14 linux-6.1.y d64a499eea6b 316d9396 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan inconsistent lock state in x25_kill_by_neigh
2026/08/31 20:14 linux-6.1.y d64a499eea6b 316d9396 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan inconsistent lock state in x25_kill_by_neigh
2026/08/29 00:45 linux-6.1.y d64a499eea6b 2f52988a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan inconsistent lock state in x25_kill_by_neigh
2026/08/29 00:45 linux-6.1.y d64a499eea6b 2f52988a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan inconsistent lock state in x25_kill_by_neigh
2026/08/29 00:45 linux-6.1.y d64a499eea6b 2f52988a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan inconsistent lock state in x25_kill_by_neigh
* Struck through repros no longer work on HEAD.