syzbot
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)
* Struck through repros no longer work on HEAD.