syzbot


inconsistent lock state in __sk_receive_skb

Status: fixed on 2026/06/25 04:34
Reported-by: syzbot+44f0626dd6284f02663c@syzkaller.appspotmail.com
Fix commit: 02c04df84de7 phonet/pep: disable BH around forwarded sk_receive_skb()
First crash: 91d, last: 54d
Fix bisection: fixed by (bisect log) :
commit 02c04df84de709060f63e1d52ec67488c4f6f212
Author: Zijing Yin <yzjaurora@gmail.com>
Date: Tue May 19 17:26:33 2026 +0000

  phonet/pep: disable BH around forwarded sk_receive_skb()

  
Discussions (1)
Title Replies (including bot) Last reply
[PATCH net] phonet/pep: disable BH around forwarded sk_receive_skb() 3 (3) 2026/05/20 13:48
Bug presence (1)
Date Name Commit Repro Result
2026/05/09 upstream (ToT) ec8957276674 C Failed due to an error; will retry later
Similar bugs (1)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream inconsistent lock state in __sk_receive_skb prio:high net 4 C error 147 46d 135d 29/29 fixed on 2026/07/15 08:27

Sample crash report:
================================
WARNING: inconsistent lock state
syzkaller #0 Not tainted
--------------------------------
inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
syz.3.22/4469 [HC0[0]:SC1[1]:HE1:SE0] takes:
ffff0000d05d86f0 (slock-AF_PHONET/1){+.?.}-{2:2}, at: __sk_receive_skb+0x154/0x850 net/core/sock.c:560
{SOFTIRQ-ON-W} state was registered at:
  lock_acquire+0x20c/0x63c kernel/locking/lockdep.c:5662
  _raw_spin_lock_nested+0x5c/0x78 kernel/locking/spinlock.c:378
  __sk_receive_skb+0x154/0x850 net/core/sock.c:560
  sk_receive_skb include/net/sock.h:2097 [inline]
  pep_do_rcv+0x4b4/0x758 net/phonet/pep.c:675
  sk_backlog_rcv include/net/sock.h:1138 [inline]
  __release_sock+0x1b4/0x3b4 net/core/sock.c:2945
  release_sock+0x60/0x1bc net/core/sock.c:3511
  pep_sock_accept+0xc7c/0x1360 net/phonet/pep.c:879
  pn_socket_accept+0x120/0x2dc net/phonet/socket.c:304
  do_accept+0x448/0x5fc net/socket.c:1890
  __sys_accept4_file net/socket.c:1931 [inline]
  __sys_accept4+0xb4/0x12c net/socket.c:1961
  __do_sys_accept net/socket.c:1978 [inline]
  __se_sys_accept net/socket.c:1975 [inline]
  __arm64_sys_accept+0x80/0x98 net/socket.c:1975
  __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
  invoke_syscall+0x98/0x2b4 arch/arm64/kernel/syscall.c:52
  el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:140
  do_el0_svc+0x58/0x130 arch/arm64/kernel/syscall.c:204
  el0_svc+0x58/0x128 arch/arm64/kernel/entry-common.c:637
  el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
  el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585
irq event stamp: 3916
hardirqs last  enabled at (3916): [<ffff800011b24404>] __raw_spin_unlock_irq include/linux/spinlock_api_smp.h:159 [inline]
hardirqs last  enabled at (3916): [<ffff800011b24404>] _raw_spin_unlock_irq+0x3c/0x90 kernel/locking/spinlock.c:202
hardirqs last disabled at (3915): [<ffff800011b241c8>] __raw_spin_lock_irq include/linux/spinlock_api_smp.h:117 [inline]
hardirqs last disabled at (3915): [<ffff800011b241c8>] _raw_spin_lock_irq+0x34/0x98 kernel/locking/spinlock.c:170
softirqs last  enabled at (3910): [<ffff80000fdd2bdc>] local_bh_enable+0x10/0x34 include/linux/bottom_half.h:32
softirqs last disabled at (3911): [<ffff800008020164>] __do_softirq+0x14/0x20 kernel/softirq.c:630

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

       CPU0
       ----
  lock(slock-AF_PHONET/1);
  <Interrupt>
    lock(slock-AF_PHONET/1);

 *** DEADLOCK ***

5 locks held by syz.3.22/4469:
 #0: ffff0000d7a70810 (&sb->s_type->i_mutex_key#12){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:758 [inline]
 #0: ffff0000d7a70810 (&sb->s_type->i_mutex_key#12){+.+.}-{3:3}, at: __sock_release net/socket.c:653 [inline]
 #0: ffff0000d7a70810 (&sb->s_type->i_mutex_key#12){+.+.}-{3:3}, at: sock_close+0x7c/0x1f8 net/socket.c:1399
 #1: ffff0000d05d8130 (sk_lock-AF_PHONET){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1805 [inline]
 #1: ffff0000d05d8130 (sk_lock-AF_PHONET){+.+.}-{0:0}, at: pep_sock_close+0x94/0x744 net/phonet/pep.c:742
 #2: ffff8000153f72c0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x18/0x54 include/linux/rcupdate.h:349
 #3: ffff0000d30380b0 (slock-AF_PHONET){+.-.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline]
 #3: ffff0000d30380b0 (slock-AF_PHONET){+.-.}-{2:2}, at: __sk_receive_skb+0x164/0x850 net/core/sock.c:562
 #4: ffff0000d3038130 (sk_lock-AF_PHONET){+.+.}-{0:0}, at: sk_receive_skb include/net/sock.h:2097 [inline]
 #4: ffff0000d3038130 (sk_lock-AF_PHONET){+.+.}-{0:0}, at: phonet_rcv+0x600/0xa4c net/phonet/af_phonet.c:-1

stack backtrace:
CPU: 0 PID: 4469 Comm: syz.3.22 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/18/2026
Call trace:
 dump_backtrace+0x1c0/0x1ec arch/arm64/kernel/stacktrace.c:158
 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165
 __dump_stack+0x30/0x40 lib/dump_stack.c:88
 dump_stack_lvl+0xf4/0x15c lib/dump_stack.c:106
 dump_stack+0x1c/0x5c lib/dump_stack.c:113
 print_usage_bug+0x4c0/0x6d8 kernel/locking/lockdep.c:3957
 valid_state kernel/locking/lockdep.c:3969 [inline]
 mark_lock_irq+0x850/0xab0 kernel/locking/lockdep.c:-1
 mark_lock+0x224/0x320 kernel/locking/lockdep.c:4628
 mark_usage kernel/locking/lockdep.c:-1 [inline]
 __lock_acquire+0xa78/0x6800 kernel/locking/lockdep.c:5003
 lock_acquire+0x20c/0x63c kernel/locking/lockdep.c:5662
 _raw_spin_lock_nested+0x5c/0x78 kernel/locking/spinlock.c:378
 __sk_receive_skb+0x154/0x850 net/core/sock.c:560
 sk_receive_skb include/net/sock.h:2097 [inline]
 pep_do_rcv+0x4b4/0x758 net/phonet/pep.c:675
 sk_backlog_rcv include/net/sock.h:1138 [inline]
 __sk_receive_skb+0x3d0/0x850 net/core/sock.c:569
 sk_receive_skb include/net/sock.h:2097 [inline]
 phonet_rcv+0x600/0xa4c net/phonet/af_phonet.c:-1
 __netif_receive_skb_one_core net/core/dev.c:5619 [inline]
 __netif_receive_skb+0xcc/0x2a8 net/core/dev.c:5733
 process_backlog+0x408/0x710 net/core/dev.c:6061
 __napi_poll+0xb4/0x3f0 net/core/dev.c:6628
 napi_poll net/core/dev.c:6695 [inline]
 net_rx_action+0x514/0xb18 net/core/dev.c:6809
 handle_softirqs+0x318/0xc60 kernel/softirq.c:596
 __do_softirq+0x14/0x20 kernel/softirq.c:630
 ____do_softirq+0x14/0x20 arch/arm64/kernel/irq.c:80
 call_on_irq_stack+0x30/0x48 arch/arm64/kernel/entry.S:897
 do_softirq_own_stack+0x20/0x2c arch/arm64/kernel/irq.c:85
 do_softirq+0xf8/0x1a8 kernel/softirq.c:497
 __local_bh_enable_ip+0x250/0x37c kernel/softirq.c:421
 local_bh_enable+0x28/0x34 include/linux/bottom_half.h:33
 netif_rx+0xa4/0xc4 net/core/dev.c:5140
 pn_send+0x454/0x6d8 net/phonet/af_phonet.c:185
 pn_skb_send+0x1dc/0x50c net/phonet/af_phonet.c:272
 pep_sock_close+0x3e4/0x744 include/linux/skbuff.h:-1
 pn_socket_release+0x9c/0xbc net/phonet/socket.c:34
 __sock_release net/socket.c:654 [inline]
 sock_close+0xb4/0x1f8 net/socket.c:1399
 __fput+0x1bc/0x7b8 fs/file_table.c:320
 ____fput+0x20/0x30 fs/file_table.c:348
 task_work_run+0x1ec/0x278 kernel/task_work.c:203
 resume_user_mode_work include/linux/resume_user_mode.h:49 [inline]
 do_notify_resume+0x1fa0/0x2aa4 arch/arm64/kernel/signal.c:1151
 prepare_exit_to_user_mode arch/arm64/kernel/entry-common.c:137 [inline]
 exit_to_user_mode arch/arm64/kernel/entry-common.c:142 [inline]
 el0_svc+0x98/0x128 arch/arm64/kernel/entry-common.c:638
 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585

Crashes (12):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/05/25 22:10 linux-6.1.y dcbcab9d7079 c69befb3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 inconsistent lock state in __sk_receive_skb
2026/05/25 00:43 linux-6.1.y dcbcab9d7079 c69befb3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 inconsistent lock state in __sk_receive_skb
2026/05/24 13:46 linux-6.1.y dcbcab9d7079 c69befb3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 inconsistent lock state in __sk_receive_skb
2026/05/24 13:41 linux-6.1.y dcbcab9d7079 c69befb3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 inconsistent lock state in __sk_receive_skb
2026/05/24 13:40 linux-6.1.y dcbcab9d7079 c69befb3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 inconsistent lock state in __sk_receive_skb
2026/05/24 13:39 linux-6.1.y dcbcab9d7079 c69befb3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 inconsistent lock state in __sk_receive_skb
2026/05/04 19:08 linux-6.1.y 4931e0e1673d 85f1bcf2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 inconsistent lock state in __sk_receive_skb
2026/05/04 19:08 linux-6.1.y 4931e0e1673d 85f1bcf2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 inconsistent lock state in __sk_receive_skb
2026/04/18 23:30 linux-6.1.y 7c87defbd336 303e2802 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci2-linux-6-1-kasan-arm64 inconsistent lock state in __sk_receive_skb
2026/04/18 16:36 linux-6.1.y 7c87defbd336 303e2802 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 inconsistent lock state in __sk_receive_skb
2026/04/18 16:26 linux-6.1.y 7c87defbd336 303e2802 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 inconsistent lock state in __sk_receive_skb
2026/04/18 16:26 linux-6.1.y 7c87defbd336 303e2802 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 inconsistent lock state in __sk_receive_skb
* Struck through repros no longer work on HEAD.