syzbot
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
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>
* Struck through repros no longer work on HEAD.