syzbot


general protection fault in ext4_split_extent_at

Status: upstream: reported on 2026/03/19 10:24
Subsystems: ext4
[Documentation on labels]
Reported-by: syzbot+1ffa5d865557e51cb604@syzkaller.appspotmail.com
First crash: 4d20h, last: 4d20h
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [ext4?] general protection fault in ext4_split_extent_at 0 (1) 2026/03/19 10:24

Sample crash report:
EXT4-fs (loop0): pa ffff88804798e658: logic 0, phys. 209, len 19
EXT4-fs error (device loop0): ext4_mb_release_inode_pa:5465: group 0, free 0, pa_free 8
EXT4-fs error (device loop0): ext4_ext_split:1151: inode #18: comm kworker/u4:8: eh_entries 0 != eh_max 84!
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
CPU: 0 UID: 0 PID: 1060 Comm: kworker/u4:8 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: ext4-rsv-conversion ext4_end_io_rsv_work
RIP: 0010:ext4_split_extent_at+0x486/0xa40 fs/ext4/extents.c:3266
Code: 02 00 00 e8 0c 90 42 ff 49 bf 00 00 00 00 00 fc ff df 4c 8b 6c 24 38 0f b7 9c 24 e4 00 00 00 49 83 c4 04 4c 89 e0 48 c1 e8 03 <42> 0f b6 04 38 84 c0 0f 85 23 05 00 00 66 41 89 1c 24 4c 8b 74 24
RSP: 0018:ffffc90001567180 EFLAGS: 00010247
RAX: 0000000000000000 RBX: 0000000000008004 RCX: ffff8880331d4980
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc900015672c8 R08: ffff888047a501d7 R09: 1ffff11008f4a03a
R10: dffffc0000000000 R11: ffffed1008f4a03b R12: 0000000000000004
R13: 1ffff920002ace44 R14: ffff8880368d5500 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff88808ca55000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007feb2c215ff8 CR3: 00000000123cf000 CR4: 0000000000352ef0
Call Trace:
 <TASK>
 ext4_split_extent fs/ext4/extents.c:3440 [inline]
 ext4_split_convert_extents+0x36d/0x1a00 fs/ext4/extents.c:3830
 ext4_convert_unwritten_extents_endio fs/ext4/extents.c:3906 [inline]
 ext4_ext_handle_unwritten_extents fs/ext4/extents.c:3990 [inline]
 ext4_ext_map_blocks+0xe70/0x58b0 fs/ext4/extents.c:4327
 ext4_map_create_blocks+0x11d/0x540 fs/ext4/inode.c:616
 ext4_map_blocks+0x7cd/0x11d0 fs/ext4/inode.c:809
 ext4_convert_unwritten_extents+0x2be/0x5f0 fs/ext4/extents.c:5029
 ext4_convert_unwritten_io_end_vec+0xff/0x170 fs/ext4/extents.c:5069
 ext4_end_io_end+0xc7/0x410 fs/ext4/page-io.c:200
 ext4_do_flush_completed_IO fs/ext4/page-io.c:291 [inline]
 ext4_end_io_rsv_work+0x26a/0x340 fs/ext4/page-io.c:306
 process_one_work kernel/workqueue.c:3276 [inline]
 process_scheduled_works+0xb6e/0x18c0 kernel/workqueue.c:3359
 worker_thread+0xa53/0xfc0 kernel/workqueue.c:3440
 kthread+0x388/0x470 kernel/kthread.c:436
 ret_from_fork+0x51e/0xb90 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:ext4_split_extent_at+0x486/0xa40 fs/ext4/extents.c:3266
Code: 02 00 00 e8 0c 90 42 ff 49 bf 00 00 00 00 00 fc ff df 4c 8b 6c 24 38 0f b7 9c 24 e4 00 00 00 49 83 c4 04 4c 89 e0 48 c1 e8 03 <42> 0f b6 04 38 84 c0 0f 85 23 05 00 00 66 41 89 1c 24 4c 8b 74 24
RSP: 0018:ffffc90001567180 EFLAGS: 00010247
RAX: 0000000000000000 RBX: 0000000000008004 RCX: ffff8880331d4980
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc900015672c8 R08: ffff888047a501d7 R09: 1ffff11008f4a03a
R10: dffffc0000000000 R11: ffffed1008f4a03b R12: 0000000000000004
R13: 1ffff920002ace44 R14: ffff8880368d5500 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff88808ca55000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007feb2c215ff8 CR3: 00000000123cf000 CR4: 0000000000352ef0
----------------
Code disassembly (best guess):
   0:	02 00                	add    (%rax),%al
   2:	00 e8                	add    %ch,%al
   4:	0c 90                	or     $0x90,%al
   6:	42 ff 49 bf          	rex.X decl -0x41(%rcx)
   a:	00 00                	add    %al,(%rax)
   c:	00 00                	add    %al,(%rax)
   e:	00 fc                	add    %bh,%ah
  10:	ff                   	lcall  (bad)
  11:	df 4c 8b 6c          	fisttps 0x6c(%rbx,%rcx,4)
  15:	24 38                	and    $0x38,%al
  17:	0f b7 9c 24 e4 00 00 	movzwl 0xe4(%rsp),%ebx
  1e:	00
  1f:	49 83 c4 04          	add    $0x4,%r12
  23:	4c 89 e0             	mov    %r12,%rax
  26:	48 c1 e8 03          	shr    $0x3,%rax
* 2a:	42 0f b6 04 38       	movzbl (%rax,%r15,1),%eax <-- trapping instruction
  2f:	84 c0                	test   %al,%al
  31:	0f 85 23 05 00 00    	jne    0x55a
  37:	66 41 89 1c 24       	mov    %bx,(%r12)
  3c:	4c                   	rex.WR
  3d:	8b                   	.byte 0x8b
  3e:	74 24                	je     0x64

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/03/14 13:45 upstream 1c9982b49613 ee8d34d6 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in ext4_split_extent_at
* Struck through repros no longer work on HEAD.