syzbot


WARNING: locking bug in nci_close_device (3)

Status: upstream: reported on 2026/01/07 15:44
Subsystems: net nfc
[Documentation on labels]
Reported-by: syzbot+f9c5fd1a0874f9069dce@syzkaller.appspotmail.com
First crash: 10d, last: 10d
Discussions (2)
Title Replies (including bot) Last reply
[syzbot] Monthly nfc report (Jan 2026) 0 (1) 2026/01/12 08:40
[syzbot] [net?] [nfc?] WARNING: locking bug in nci_close_device (3) 0 (1) 2026/01/07 15:44
Similar bugs (2)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream WARNING: locking bug in nci_close_device (2) net nfc 4 C error 11 639d 655d 0/29 auto-obsoleted due to no activity on 2024/06/24 08:40
upstream WARNING: locking bug in nci_close_device net nfc 4 1 1080d 1076d 0/29 auto-obsoleted due to no activity on 2023/05/30 15:14

Sample crash report:
Bluetooth: hci1: Opcode 0x0c1a failed: -4
Bluetooth: hci1: Error when powering off device on rfkill (-4)
Bluetooth: hci2: Opcode 0x0c1a failed: -4
Bluetooth: hci2: Error when powering off device on rfkill (-4)
------------[ cut here ]------------
DEBUG_LOCKS_WARN_ON(1)
WARNING: kernel/locking/lockdep.c:238 at hlock_class kernel/locking/lockdep.c:238 [inline], CPU#1: syz.6.5778/26216
WARNING: kernel/locking/lockdep.c:238 at check_wait_context kernel/locking/lockdep.c:4854 [inline], CPU#1: syz.6.5778/26216
WARNING: kernel/locking/lockdep.c:238 at __lock_acquire+0x39e/0x2cf0 kernel/locking/lockdep.c:5187, CPU#1: syz.6.5778/26216
Modules linked in:
CPU: 1 UID: 0 PID: 26216 Comm: syz.6.5778 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
RIP: 0010:hlock_class kernel/locking/lockdep.c:238 [inline]
RIP: 0010:check_wait_context kernel/locking/lockdep.c:4854 [inline]
RIP: 0010:__lock_acquire+0x3a5/0x2cf0 kernel/locking/lockdep.c:5187
Code: 17 00 4c 8b 74 24 08 75 27 90 e8 e6 94 ec 02 85 c0 74 1c 83 3d 2f 5d e4 0d 00 75 13 48 8d 3d 42 72 e7 0d 48 c7 c6 3a 0c 87 8d <67> 48 0f b9 3a 90 31 c0 0f b6 98 c4 00 00 00 41 8b 45 20 25 ff 1f
RSP: 0018:ffffc9000c037680 EFLAGS: 00010046
RAX: 0000000000000001 RBX: 0000000000040000 RCX: 0000000000080000
RDX: ffffc90004e52000 RSI: ffffffff8d870c3a RDI: ffffffff8f8567c0
RBP: 0000000000000003 R08: ffffffff8f8252a3 R09: 1ffffffff1f04a54
R10: dffffc0000000000 R11: fffffbfff1f04a55 R12: 00000000000011bb
R13: ffff888052a6aa28 R14: ffff888052a69e80 R15: ffff888052a6a9b0
FS:  00007f462b1636c0(0000) GS:ffff888125f1f000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00002000000028c0 CR3: 00000000765dc000 CR4: 00000000003526f0
Call Trace:
 <TASK>
 lock_acquire+0x107/0x340 kernel/locking/lockdep.c:5868
 touch_wq_lockdep_map+0xcb/0x180 kernel/workqueue.c:3940
 __flush_workqueue+0x121/0x14b0 kernel/workqueue.c:3982
 nci_close_device+0x2e5/0x610 net/nfc/nci/core.c:567
 nci_dev_down+0x3b/0x50 net/nfc/nci/core.c:639
 nfc_dev_down+0x152/0x290 net/nfc/core.c:161
 nfc_rfkill_set_block+0x2d/0x100 net/nfc/core.c:179
 rfkill_set_block+0x1d2/0x440 net/rfkill/core.c:346
 rfkill_fop_write+0x44b/0x570 net/rfkill/core.c:1301
 vfs_write+0x27e/0xb30 fs/read_write.c:684
 ksys_write+0x145/0x250 fs/read_write.c:738
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xec/0xf80 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f462a38f749
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 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 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f462b163038 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007f462a5e6090 RCX: 00007f462a38f749
RDX: 0000000000000008 RSI: 0000200000000080 RDI: 0000000000000006
RBP: 00007f462a413f91 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f462a5e6128 R14: 00007f462a5e6090 R15: 00007ffea1921d88
 </TASK>
----------------
Code disassembly (best guess), 1 bytes skipped:
   0:	00 4c 8b 74          	add    %cl,0x74(%rbx,%rcx,4)
   4:	24 08                	and    $0x8,%al
   6:	75 27                	jne    0x2f
   8:	90                   	nop
   9:	e8 e6 94 ec 02       	call   0x2ec94f4
   e:	85 c0                	test   %eax,%eax
  10:	74 1c                	je     0x2e
  12:	83 3d 2f 5d e4 0d 00 	cmpl   $0x0,0xde45d2f(%rip)        # 0xde45d48
  19:	75 13                	jne    0x2e
  1b:	48 8d 3d 42 72 e7 0d 	lea    0xde77242(%rip),%rdi        # 0xde77264
  22:	48 c7 c6 3a 0c 87 8d 	mov    $0xffffffff8d870c3a,%rsi
* 29:	67 48 0f b9 3a       	ud1    (%edx),%rdi <-- trapping instruction
  2e:	90                   	nop
  2f:	31 c0                	xor    %eax,%eax
  31:	0f b6 98 c4 00 00 00 	movzbl 0xc4(%rax),%ebx
  38:	41 8b 45 20          	mov    0x20(%r13),%eax
  3c:	25                   	.byte 0x25
  3d:	ff 1f                	lcall  *(%rdi)

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/01/03 15:40 net dbf8fe85a16a d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce WARNING: locking bug in nci_close_device
* Struck through repros no longer work on HEAD.