general protection fault in mas_prev_slot

Status: premoderation: reported on 2026/07/20 07:02
Reported-by: syzbot+7f0333779dcf2592701a@syzkaller.appspotmail.com
First crash: 19d, last: 19d

Sample crash report:
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN PTI
KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
CPU: 0 UID: 0 PID: 3185 Comm: syz.2.819 Not tainted syzkaller #0 5adf726ab28801c07fd45706e49e1b3a66128c4b
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/09/2026
RIP: 0010:ma_dead_node lib/maple_tree.c:563 [inline]
RIP: 0010:mas_rewalk_if_dead lib/maple_tree.c:4397 [inline]
RIP: 0010:mas_prev_slot+0x166/0xc20 lib/maple_tree.c:4509
Code: eb fb 49 8d 46 08 48 89 45 a8 eb 0d e8 03 44 eb fb 48 c7 45 a8 00 00 00 00 4c 89 f3 48 c1 eb 03 48 b8 00 00 00 00 00 fc ff df <80> 3c 03 00 74 08 4c 89 f7 e8 3c f7 43 fc 4d 8b 3e 48 c7 c0 00 ff
RSP: 0018:ffffc900099e7b08 EFLAGS: 00010246
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffff8881306c4c00
RDX: 0000000000000000 RSI: ffffffff87e374d0 RDI: 0000000000000000
RBP: ffffc900099e7bc0 R08: ffff8881306c4c00 R09: 0000000000000003
R10: 0000000000000003 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000005 R14: 0000000000000000 R15: ffffc900099e7c48
FS:  00007fbf50e956c0(0000) GS:ffff8881f6e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fbf50e94ff8 CR3: 00000001190d6000 CR4: 00000000003526b0
DR0: 000000000000000c DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 mas_find_rev+0x5f/0xa0 lib/maple_tree.c:6204
 offset_dir_lookup+0x1b7/0x250 fs/libfs.c:487
 offset_iterate_dir fs/libfs.c:507 [inline]
 offset_readdir+0x244/0x480 fs/libfs.c:563
 iterate_dir+0x1fa/0x5c0 fs/readdir.c:108
 __do_sys_getdents64 fs/readdir.c:407 [inline]
 __se_sys_getdents64+0xf6/0x250 fs/readdir.c:392
 __x64_sys_getdents64+0x7f/0xa0 fs/readdir.c:392
 x64_sys_call+0x27d0/0x2ee0 arch/x86/include/generated/asm/syscalls_64.h:218
 do_syscall_x64 arch/x86/entry/common.c:47 [inline]
 do_syscall_64+0x57/0xf0 arch/x86/entry/common.c:78
 entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7fbf4ff9de99
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:00007fbf50e95028 EFLAGS: 00000246 ORIG_RAX: 00000000000000d9
RAX: ffffffffffffffda RBX: 00007fbf50226180 RCX: 00007fbf4ff9de99
RDX: 000000000000004f RSI: 0000000000000000 RDI: 0000000000000005
RBP: 00007fbf50033eaf R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fbf50226218 R14: 00007fbf50226180 R15: 00007ffe548e1488
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:ma_dead_node lib/maple_tree.c:563 [inline]
RIP: 0010:mas_rewalk_if_dead lib/maple_tree.c:4397 [inline]
RIP: 0010:mas_prev_slot+0x166/0xc20 lib/maple_tree.c:4509
Code: eb fb 49 8d 46 08 48 89 45 a8 eb 0d e8 03 44 eb fb 48 c7 45 a8 00 00 00 00 4c 89 f3 48 c1 eb 03 48 b8 00 00 00 00 00 fc ff df <80> 3c 03 00 74 08 4c 89 f7 e8 3c f7 43 fc 4d 8b 3e 48 c7 c0 00 ff
RSP: 0018:ffffc900099e7b08 EFLAGS: 00010246

RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffff8881306c4c00
RDX: 0000000000000000 RSI: ffffffff87e374d0 RDI: 0000000000000000
RBP: ffffc900099e7bc0 R08: ffff8881306c4c00 R09: 0000000000000003
R10: 0000000000000003 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000005 R14: 0000000000000000 R15: ffffc900099e7c48
FS:  00007fbf50e956c0(0000) GS:ffff8881f6e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f08b77ef4b8 CR3: 00000001190d6000 CR4: 00000000003526b0
DR0: 000000000000000c DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	eb fb                	jmp    0xfffffffd
   2:	49 8d 46 08          	lea    0x8(%r14),%rax
   6:	48 89 45 a8          	mov    %rax,-0x58(%rbp)
   a:	eb 0d                	jmp    0x19
   c:	e8 03 44 eb fb       	call   0xfbeb4414
  11:	48 c7 45 a8 00 00 00 	movq   $0x0,-0x58(%rbp)
  18:	00
  19:	4c 89 f3             	mov    %r14,%rbx
  1c:	48 c1 eb 03          	shr    $0x3,%rbx
  20:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  27:	fc ff df
* 2a:	80 3c 03 00          	cmpb   $0x0,(%rbx,%rax,1) <-- trapping instruction
  2e:	74 08                	je     0x38
  30:	4c 89 f7             	mov    %r14,%rdi
  33:	e8 3c f7 43 fc       	call   0xfc43f774
  38:	4d 8b 3e             	mov    (%r14),%r15
  3b:	48                   	rex.W
  3c:	c7                   	.byte 0xc7
  3d:	c0 00 ff             	rolb   $0xff,(%rax)

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/07/20 07:01 android16-6.12 0fd55a309793 72524a66 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust general protection fault in mas_prev_slot
* Struck through repros no longer work on HEAD.