syzbot
general protection fault in __device_attach (2)
Status:
moderation: reported on 2026/08/02 01:34
Subsystems:
kernel
Labels:
prio:high
[Documentation on labels]
Reported-by: syzbot+351bcd6fdca14aaf5072@syzkaller.appspotmail.com
First crash: 6d20h, last: 5d18h
Sample crash report:
FAULT_INJECTION: forcing a failure.
name failslab, interval 1, probability 1, space 0, times 1000
CPU: 0 UID: 0 PID: 803 Comm: kworker/0:2 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
Workqueue: events_long serio_handle_event
Call Trace:
<TASK>
dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120
fail_dump lib/fault-inject.c:73 [inline]
should_fail_ex+0x40c/0x560 lib/fault-inject.c:174
should_failslab+0xa8/0x100 mm/failslab.c:46
slab_pre_alloc_hook mm/slub.c:4539 [inline]
slab_alloc_node mm/slub.c:4897 [inline]
kmem_cache_alloc_noprof+0xa6/0x5f0 mm/slub.c:4931
__kernfs_new_node+0xe6/0x980 fs/kernfs/dir.c:665
kernfs_new_node+0xea/0x140 fs/kernfs/dir.c:751
__kernfs_create_file+0x4b/0x2e0 fs/kernfs/file.c:1050
sysfs_add_file_mode_ns+0x237/0x300 fs/sysfs/file.c:316
sysfs_merge_group+0x183/0x320 fs/sysfs/group.c:382
dpm_sysfs_add+0xd2/0x270 drivers/base/power/sysfs.c:704
device_add+0x4ca/0xb80 drivers/base/core.c:3717
serio_add_port drivers/input/serio/serio.c:512 [inline]
serio_handle_event+0x9e6/0xf80 drivers/input/serio/serio.c:197
process_one_work kernel/workqueue.c:3322 [inline]
process_scheduled_works+0xa8e/0x14e0 kernel/workqueue.c:3405
worker_thread+0xa47/0xfb0 kernel/workqueue.c:3486
kthread+0x388/0x470 kernel/kthread.c:436
ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>
serio serio2: device_add() failed for (), error: -12
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000021: 0000 [#1] SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x0000000000000108-0x000000000000010f]
CPU: 0 UID: 0 PID: 803 Comm: kworker/0:2 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
Workqueue: events_long serio_handle_event
RIP: 0010:__device_attach+0xb3/0x450 drivers/base/dd.c:1074
Code: 8d 7b 48 4c 89 f8 48 c1 e8 03 42 80 3c 30 00 74 08 4c 89 ff e8 5e 30 0d fc 4d 8b 2f 4d 8d bd 08 01 00 00 4c 89 f8 48 c1 e8 03 <42> 0f b6 04 30 84 c0 0f 85 0a 03 00 00 45 0f b6 37 44 89 f6 83 e6
RSP: 0018:ffffc9000427f9e0 EFLAGS: 00010206
RAX: 0000000000000021 RBX: ffff888012bac1f8 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff8c4bed60 RDI: 00000000ffffffff
RBP: ffffc9000427fa90 R08: ffffffff9057b737 R09: 1ffffffff20af6e6
R10: dffffc0000000000 R11: fffffbfff20af6e7 R12: 0000000000000000
R13: 0000000000000000 R14: dffffc0000000000 R15: 0000000000000108
FS: 0000000000000000(0000) GS:ffff88808c543000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f0656f909c0 CR3: 0000000012ece000 CR4: 0000000000352ef0
Call Trace:
<TASK>
serio_find_driver drivers/input/serio/serio.c:112 [inline]
serio_handle_event+0x87a/0xf80 drivers/input/serio/serio.c:206
process_one_work kernel/workqueue.c:3322 [inline]
process_scheduled_works+0xa8e/0x14e0 kernel/workqueue.c:3405
worker_thread+0xa47/0xfb0 kernel/workqueue.c:3486
kthread+0x388/0x470 kernel/kthread.c:436
ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:__device_attach+0xb3/0x450 drivers/base/dd.c:1074
Code: 8d 7b 48 4c 89 f8 48 c1 e8 03 42 80 3c 30 00 74 08 4c 89 ff e8 5e 30 0d fc 4d 8b 2f 4d 8d bd 08 01 00 00 4c 89 f8 48 c1 e8 03 <42> 0f b6 04 30 84 c0 0f 85 0a 03 00 00 45 0f b6 37 44 89 f6 83 e6
RSP: 0018:ffffc9000427f9e0 EFLAGS: 00010206
RAX: 0000000000000021 RBX: ffff888012bac1f8 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff8c4bed60 RDI: 00000000ffffffff
RBP: ffffc9000427fa90 R08: ffffffff9057b737 R09: 1ffffffff20af6e6
R10: dffffc0000000000 R11: fffffbfff20af6e7 R12: 0000000000000000
R13: 0000000000000000 R14: dffffc0000000000 R15: 0000000000000108
FS: 0000000000000000(0000) GS:ffff88808c543000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055945df490b8 CR3: 000000003f3a3000 CR4: 0000000000352ef0
----------------
Code disassembly (best guess):
0: 8d 7b 48 lea 0x48(%rbx),%edi
3: 4c 89 f8 mov %r15,%rax
6: 48 c1 e8 03 shr $0x3,%rax
a: 42 80 3c 30 00 cmpb $0x0,(%rax,%r14,1)
f: 74 08 je 0x19
11: 4c 89 ff mov %r15,%rdi
14: e8 5e 30 0d fc call 0xfc0d3077
19: 4d 8b 2f mov (%r15),%r13
1c: 4d 8d bd 08 01 00 00 lea 0x108(%r13),%r15
23: 4c 89 f8 mov %r15,%rax
26: 48 c1 e8 03 shr $0x3,%rax
* 2a: 42 0f b6 04 30 movzbl (%rax,%r14,1),%eax <-- trapping instruction
2f: 84 c0 test %al,%al
31: 0f 85 0a 03 00 00 jne 0x341
37: 45 0f b6 37 movzbl (%r15),%r14d
3b: 44 89 f6 mov %r14d,%esi
3e: 83 .byte 0x83
3f: e6 .byte 0xe6
* Struck through repros no longer work on HEAD.