[v5.15] general protection fault in ocfs2_dx_dir_lookup_rec

0 views
Skip to first unread message

syzbot

unread,
1:42 AM (19 hours ago) 1:42 AM
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 68efe5a6c16a Linux 5.15.197
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=1119e922580000
kernel config: https://syzkaller.appspot.com/x/.config?x=7e6ed99963d6ee1d
dashboard link: https://syzkaller.appspot.com/bug?extid=f6ffc1909131398c8dc4
compiler: Debian clang version 20.1.8 (++20250708063551+0c9f909b7976-1~exp1~20250708183702.136), Debian LLD 20.1.8
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=14f79074580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=12f79074580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/900f9b9bd850/disk-68efe5a6.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/1e089a5019a6/vmlinux-68efe5a6.xz
kernel image: https://storage.googleapis.com/syzbot-assets/b319f477b907/bzImage-68efe5a6.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/ae5611c8d352/mount_0.gz
fsck result: OK (log: https://syzkaller.appspot.com/x/fsck.log?x=10f79074580000)

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+f6ffc1...@syzkaller.appspotmail.com

debugfs: Directory 'B1DE653C5FFC4D88B33B244AAB9EB3E9' with parent 'ocfs2' already present!
ocfs2: Mounting device (7,0) on (node local, slot 0) with ordered data mode.
general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
CPU: 1 PID: 4524 Comm: syz.0.41 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
RIP: 0010:ocfs2_dx_dir_lookup_rec+0x3a0/0x780 fs/ocfs2/dir.c:812
Code: 28 48 89 44 24 38 48 83 c3 40 48 89 d8 48 c1 e8 03 42 80 3c 20 00 74 08 48 89 df e8 8a cd a5 fe 4c 8b 33 4c 89 f8 48 c1 e8 03 <42> 0f b6 04 20 84 c0 0f 85 bf 02 00 00 41 8b 1f 48 8b 7c 24 20 48
RSP: 0018:ffffc90003b8f520 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff88805d3fb378 RCX: ffff88801afe9dc0
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88805d3fb360
RBP: ffffc90003b8f630 R08: ffffc90003b8f690 R09: ffffc90003b8f69c
R10: 0000000000000002 R11: 0000000000000000 R12: dffffc0000000000
R13: ffffc90003b8f698 R14: 0000000000000041 R15: 0000000000000000
FS: 00007f1a142c16c0(0000) GS:ffff8880b9100000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007efd17956000 CR3: 000000002a67a000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
ocfs2_dx_dir_lookup+0xd8/0x510 fs/ocfs2/dir.c:860
ocfs2_dx_dir_search fs/ocfs2/dir.c:920 [inline]
ocfs2_find_entry_dx fs/ocfs2/dir.c:1034 [inline]
ocfs2_find_entry+0xfb1/0x1f90 fs/ocfs2/dir.c:1071
ocfs2_find_files_on_disk+0xdb/0x2f0 fs/ocfs2/dir.c:1995
ocfs2_lookup_ino_from_name+0x4f/0xf0 fs/ocfs2/dir.c:2017
ocfs2_lookup+0x241/0x930 fs/ocfs2/namei.c:122
lookup_one_qstr_excl+0x10e/0x240 fs/namei.c:1571
filename_create+0x21e/0x450 fs/namei.c:3844
do_mknodat+0x16e/0x620 fs/namei.c:3989
__do_sys_mknod fs/namei.c:4035 [inline]
__se_sys_mknod fs/namei.c:4033 [inline]
__x64_sys_mknod+0x8a/0xa0 fs/namei.c:4033
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7f1a14c52749
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 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 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f1a142c1038 EFLAGS: 00000246 ORIG_RAX: 0000000000000085
RAX: ffffffffffffffda RBX: 00007f1a14ea8fa0 RCX: 00007f1a14c52749
RDX: 0000000000000000 RSI: 0000000000001000 RDI: 0000200000000080
RBP: 00007f1a14cd6f91 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f1a14ea9038 R14: 00007f1a14ea8fa0 R15: 00007fff4d967518
</TASK>
Modules linked in:
---[ end trace 3e8b4ee413d25d5a ]---
RIP: 0010:ocfs2_dx_dir_lookup_rec+0x3a0/0x780 fs/ocfs2/dir.c:812
Code: 28 48 89 44 24 38 48 83 c3 40 48 89 d8 48 c1 e8 03 42 80 3c 20 00 74 08 48 89 df e8 8a cd a5 fe 4c 8b 33 4c 89 f8 48 c1 e8 03 <42> 0f b6 04 20 84 c0 0f 85 bf 02 00 00 41 8b 1f 48 8b 7c 24 20 48
RSP: 0018:ffffc90003b8f520 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff88805d3fb378 RCX: ffff88801afe9dc0
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88805d3fb360
RBP: ffffc90003b8f630 R08: ffffc90003b8f690 R09: ffffc90003b8f69c
R10: 0000000000000002 R11: 0000000000000000 R12: dffffc0000000000
R13: ffffc90003b8f698 R14: 0000000000000041 R15: 0000000000000000
FS: 00007f1a142c16c0(0000) GS:ffff8880b9000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055556ad985c8 CR3: 000000002a67a000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
0: 28 48 89 sub %cl,-0x77(%rax)
3: 44 24 38 rex.R and $0x38,%al
6: 48 83 c3 40 add $0x40,%rbx
a: 48 89 d8 mov %rbx,%rax
d: 48 c1 e8 03 shr $0x3,%rax
11: 42 80 3c 20 00 cmpb $0x0,(%rax,%r12,1)
16: 74 08 je 0x20
18: 48 89 df mov %rbx,%rdi
1b: e8 8a cd a5 fe call 0xfea5cdaa
20: 4c 8b 33 mov (%rbx),%r14
23: 4c 89 f8 mov %r15,%rax
26: 48 c1 e8 03 shr $0x3,%rax
* 2a: 42 0f b6 04 20 movzbl (%rax,%r12,1),%eax <-- trapping instruction
2f: 84 c0 test %al,%al
31: 0f 85 bf 02 00 00 jne 0x2f6
37: 41 8b 1f mov (%r15),%ebx
3a: 48 8b 7c 24 20 mov 0x20(%rsp),%rdi
3f: 48 rex.W


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup
Reply all
Reply to author
Forward
0 new messages