syzbot
WARNING: locking bug in match_held_lock
Status:
upstream: reported on 2026/09/13 01:31
Subsystems:
bridge
Labels:
prio:low
[Documentation on labels]
Reported-by: syzbot+4d0e4d2db6dfde01b52f@syzkaller.appspotmail.com
First crash: 5d04h, last: 20h59m
Sample crash report:
------------[ cut here ]------------
Looking for class "&ht->mutex" with key br_fdb_hash_init.__key.1, but found a different class "key" with the same key
WARNING: kernel/locking/lockdep.c:958 at look_up_lock_class+0x8c/0x110 kernel/locking/lockdep.c:955, CPU#0: syz.3.429/8604
Modules linked in:
CPU: 0 UID: 0 PID: 8604 Comm: syz.3.429 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
RIP: 0010:look_up_lock_class+0x9a/0x110 kernel/locking/lockdep.c:955
Code: 00 00 49 3b 46 18 0f 84 82 00 00 00 49 81 3e d0 44 58 94 74 79 48 8d 3d 44 f2 94 04 49 8b 16 49 8b 76 18 48 8b 8b b8 00 00 00 <67> 48 0f b9 3a eb 5d 90 89 f3 e8 67 0a f4 f8 e8 32 5c be f5 48 c7
RSP: 0018:ffffc90000007208 EFLAGS: 00010002
RAX: ffffffff8c6bb940 RBX: ffffffff94432328 RCX: ffffffff8c6bb940
RDX: ffffffff9af2cbe0 RSI: ffffffff8c6bb900 RDI: ffffffff907ddb20
RBP: 00000000ffffffff R08: 0000000000000100 R09: 1ffff92000000e60
R10: dffffc0000000000 R11: fffff52000000e61 R12: 0000000000000246
R13: ffff8880317cbe80 R14: ffff88802c8dd070 R15: ffffffff9af2cbe0
FS: 00007efe330a96c0(0000) GS:ffff888124cb7000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000020000057f000 CR3: 000000007dbe4000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 000000000000000f
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Call Trace:
<IRQ>
match_held_lock+0x9a/0x120 kernel/locking/lockdep.c:5364
__lock_is_held kernel/locking/lockdep.c:5654 [inline]
lock_is_held_type+0x89/0x150 kernel/locking/lockdep.c:6016
__rhashtable_lookup include/linux/rhashtable.h:623 [inline]
rhashtable_lookup include/linux/rhashtable.h:668 [inline]
fdb_find_rcu+0x106/0x770 net/bridge/br_fdb.c:216
br_fdb_update+0x10d/0x6c0 net/bridge/br_fdb.c:982
br_handle_frame_finish+0x600/0x1950 net/bridge/br_input.c:144
br_nf_hook_thresh+0x3dd/0x4c0 net/bridge/br_netfilter_hooks.c:-1
br_nf_pre_routing_finish_ipv6+0x90c/0xc40 net/bridge/br_netfilter_ipv6.c:-1
NF_HOOK include/linux/netfilter.h:325 [inline]
br_nf_pre_routing_ipv6+0x382/0x6f0 net/bridge/br_netfilter_ipv6.c:183
nf_hook_entry_hookfn include/linux/netfilter.h:165 [inline]
nf_hook_bridge_pre net/bridge/br_input.c:291 [inline]
br_handle_frame+0x127f/0x1510 net/bridge/br_input.c:442
__netif_receive_skb_core+0x989/0x30c0 net/core/dev.c:6151
__netif_receive_skb_one_core net/core/dev.c:6262 [inline]
__netif_receive_skb net/core/dev.c:6377 [inline]
process_backlog+0x727/0x18b0 net/core/dev.c:6728
__napi_poll+0xaa/0x330 net/core/dev.c:7787
napi_poll net/core/dev.c:7850 [inline]
net_rx_action+0x61d/0xf50 net/core/dev.c:8007
handle_softirqs+0x223/0x840 kernel/softirq.c:645
__do_softirq kernel/softirq.c:679 [inline]
invoke_softirq kernel/softirq.c:519 [inline]
__irq_exit_rcu+0xcb/0x220 kernel/softirq.c:758
irq_exit_rcu+0x9/0x30 kernel/softirq.c:775
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1062 [inline]
sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1062
</IRQ>
<TASK>
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:674
RIP: 0010:__sanitizer_cov_trace_pc+0x75/0x80 kernel/kcov.c:231
Code: 10 17 00 00 83 fa 02 75 21 48 8b 91 18 17 00 00 48 8b 32 48 8d 7e 01 8b 89 14 17 00 00 48 39 cf 73 08 48 89 3a 48 89 44 f2 08 <c3> cc cc cc cc cc 0f 1f 44 00 00 90 90 90 90 90 90 90 90 90 90 90
RSP: 0018:ffffc90003d1fab8 EFLAGS: 00000287
RAX: ffffffff8be1455a RBX: ffffc90003d1fc40 RCX: 0000000000080000
RDX: ffffc9001b736000 RSI: 0000000000000ca4 RDI: 0000000000000ca5
RBP: 0000000000000000 R08: ffff8880317cbe80 R09: 0000000000000006
R10: 0000000000000007 R11: 0000000000000002 R12: ffffffffffffffff
R13: dffffc0000000000 R14: ffffffffffffffff R15: dffffc0000000000
mas_next_slot+0x2a/0xd70 lib/maple_tree.c:4203
mas_find+0x6d6/0xcb0 lib/maple_tree.c:5492
vma_next include/linux/mm.h:1649 [inline]
mm_take_all_locks+0xa72/0xf30 mm/vma.c:2352
__mmu_notifier_register+0x3fc/0x5f0 mm/mmu_notifier.c:680
mmu_notifier_register+0x70/0x1d0 mm/mmu_notifier.c:751
kvm_init_mmu_notifier virt/kvm/kvm_main.c:901 [inline]
kvm_create_vm virt/kvm/kvm_main.c:1199 [inline]
kvm_dev_ioctl_create_vm virt/kvm/kvm_main.c:5522 [inline]
kvm_dev_ioctl+0x12fe/0x1770 virt/kvm/kvm_main.c:5564
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:597 [inline]
__se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
do_syscall_x64 arch/x86/entry/syscall_64.c:61 [inline]
do_syscall_64+0x166/0x520 arch/x86/entry/syscall_64.c:84
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7efe3219e159
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:00007efe330a9028 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007efe32425fa0 RCX: 00007efe3219e159
RDX: 0000000000000000 RSI: 000000000000ae01 RDI: 0000000000000003
RBP: 00007efe3223503b R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007efe32426038 R14: 00007efe32425fa0 R15: 00007ffc4ec962e8
</TASK>
----------------
Code disassembly (best guess):
0: 00 00 add %al,(%rax)
2: 49 3b 46 18 cmp 0x18(%r14),%rax
6: 0f 84 82 00 00 00 je 0x8e
c: 49 81 3e d0 44 58 94 cmpq $0xffffffff945844d0,(%r14)
13: 74 79 je 0x8e
15: 48 8d 3d 44 f2 94 04 lea 0x494f244(%rip),%rdi # 0x494f260
1c: 49 8b 16 mov (%r14),%rdx
1f: 49 8b 76 18 mov 0x18(%r14),%rsi
23: 48 8b 8b b8 00 00 00 mov 0xb8(%rbx),%rcx
* 2a: 67 48 0f b9 3a ud1 (%edx),%rdi <-- trapping instruction
2f: eb 5d jmp 0x8e
31: 90 nop
32: 89 f3 mov %esi,%ebx
34: e8 67 0a f4 f8 call 0xf8f40aa0
39: e8 32 5c be f5 call 0xf5be5c70
3e: 48 rex.W
3f: c7 .byte 0xc7
* Struck through repros no longer work on HEAD.