syzbot
general protection fault in ppl_write_stripe_run
Status:
upstream: reported syz repro on 2026/09/23 17:49
Subsystems:
raid
Labels:
prio:high
[Documentation on labels]
Reported-by: syzbot+75d7e96ad03ac2dbbd9f@syzkaller.appspotmail.com
First crash: 4d09h, last: 1d00h
Sample crash report:
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000002: 0000 [#1] SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]
CPU: 1 UID: 0 PID: 6845 Comm: md0_raid5 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
RIP: 0010:ppl_write_stripe_run+0x60/0x1320 drivers/md/raid5-ppl.c:538
Code: 3c 02 00 0f 85 01 11 00 00 4c 8b 8b 48 09 00 00 49 8d 41 10 48 89 c2 48 89 44 24 60 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e b9 10 00 00 41 8b 59 10 31 ff
RSP: 0018:ffffc900077e7938 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: ffff888013c2c000 RCX: 0000000000000000
RDX: 0000000000000002 RSI: ffffffff888aae3d RDI: ffff888013c2c948
RBP: 0000000000000001 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: ffff888022c26000
R13: dffffc0000000000 R14: ffff888013c2c2b8 R15: ffff888013c2c000
FS: 0000000000000000(0000) GS:ffff888096a60000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000fff8cec0 CR3: 000000006b079000 CR4: 0000000000352ef0
Call Trace:
<TASK>
log_flush_stripe_to_raid drivers/md/raid5-log.h:101 [inline]
handle_active_stripes.isra.0+0x11e4/0x1540 drivers/md/raid5.c:6851
raid5d+0xe00/0x17b0 drivers/md/raid5.c:6985
md_thread+0x505/0x580 drivers/md/md.c:8706
kthread+0x373/0x450 kernel/kthread.c:436
ret_from_fork+0x730/0xd60 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:ppl_write_stripe_run+0x60/0x1320 drivers/md/raid5-ppl.c:538
Code: 3c 02 00 0f 85 01 11 00 00 4c 8b 8b 48 09 00 00 49 8d 41 10 48 89 c2 48 89 44 24 60 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e b9 10 00 00 41 8b 59 10 31 ff
RSP: 0018:ffffc900077e7938 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: ffff888013c2c000 RCX: 0000000000000000
RDX: 0000000000000002 RSI: ffffffff888aae3d RDI: ffff888013c2c948
RBP: 0000000000000001 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: ffff888022c26000
R13: dffffc0000000000 R14: ffff888013c2c2b8 R15: ffff888013c2c000
FS: 0000000000000000(0000) GS:ffff888096a60000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000fff8cec0 CR3: 000000006b079000 CR4: 0000000000352ef0
----------------
Code disassembly (best guess):
0: 3c 02 cmp $0x2,%al
2: 00 0f add %cl,(%rdi)
4: 85 01 test %eax,(%rcx)
6: 11 00 adc %eax,(%rax)
8: 00 4c 8b 8b add %cl,-0x75(%rbx,%rcx,4)
c: 48 09 00 or %rax,(%rax)
f: 00 49 8d add %cl,-0x73(%rcx)
12: 41 10 48 89 adc %cl,-0x77(%r8)
16: c2 48 89 ret $0x8948
19: 44 24 60 rex.R and $0x60,%al
1c: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
23: fc ff df
26: 48 c1 ea 03 shr $0x3,%rdx
* 2a: 0f b6 04 02 movzbl (%rdx,%rax,1),%eax <-- trapping instruction
2e: 84 c0 test %al,%al
30: 74 08 je 0x3a
32: 3c 03 cmp $0x3,%al
34: 0f 8e b9 10 00 00 jle 0x10f3
3a: 41 8b 59 10 mov 0x10(%r9),%ebx
3e: 31 ff xor %edi,%edi
* Struck through repros no longer work on HEAD.