syzbot
general protection fault in ocfs2_prepare_dir_for_insert
Status:
upstream: reported C repro on 2025/12/18 14:49
Bug presence:
origin:lts-only
[Documentation on labels]
Reported-by: syzbot+4a95be9920417e49cbd5@syzkaller.appspotmail.com
First crash: 288d, last: 22d
▶
▼
Bug presence (2)
| Date |
Name |
Commit |
Repro |
Result |
| 2025/12/18 |
linux-6.6.y (ToT) |
5fa4793a2d2d |
C
|
[report] general protection fault in ocfs2_prepare_dir_for_insert
|
| 2025/12/18 |
upstream (ToT) |
ea1013c15392 |
C
|
Didn't crash |
▶
▼
Fix bisection attempts (6)
Sample crash report:
and is ignored by this kernel. Remove the mand
option from the mount to silence this warning.
=======================================================
JBD2: Ignoring recovery information on journal
ocfs2: Mounting device (7,0) on (node local, slot 0) with ordered data mode.
general protection fault, probably for non-canonical address 0xdffffc0000000001: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f]
CPU: 0 PID: 5924 Comm: syz.0.17 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
RIP: 0010:ocfs2_find_dir_space_id fs/ocfs2/dir.c:3426 [inline]
RIP: 0010:ocfs2_prepare_dir_for_insert+0x3039/0x5520 fs/ocfs2/dir.c:4306
Code: ff ff e8 da d5 29 fe e9 bf d2 ff ff e8 d0 d5 29 fe e9 e2 02 00 00 e8 c6 d5 29 fe 49 8d 7f 08 49 8d 5f 09 48 89 f8 48 c1 e8 03 <42> 0f b6 04 20 84 c0 4c 8b b4 24 80 00 00 00 0f 85 e2 1f 00 00 4c
RSP: 0018:ffffc9000462f080 EFLAGS: 00010202
RAX: 0000000000000001 RBX: 0000000000000009 RCX: ffff888021bb9e00
RDX: 0000000000000000 RSI: ffff8880234c00c8 RDI: 0000000000000008
RBP: ffffc9000462f7b0 R08: ffffc9000462fac0 R09: 608b7c562adf3b03
R10: 23ec6d672c196c9a R11: 608b7c562adf3b03 R12: dffffc0000000000
R13: fffff520008c5e34 R14: 1ffff1100bc9cbcb R15: 0000000000000000
FS: 000055557ece2500(0000) GS:ffff8880b8e00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fe0d6c70050 CR3: 00000000182ee000 CR4: 00000000003506f0
Call Trace:
<TASK>
__ocfs2_prepare_orphan_dir+0x145/0x310 fs/ocfs2/namei.c:2167
ocfs2_prepare_orphan_dir+0xf1/0x420 fs/ocfs2/namei.c:2210
ocfs2_unlink+0xb96/0x1b30 fs/ocfs2/namei.c:960
vfs_unlink+0x37a/0x600 fs/namei.c:4380
do_unlinkat+0x339/0x590 fs/namei.c:4446
__do_sys_unlink fs/namei.c:4494 [inline]
__se_sys_unlink fs/namei.c:4492 [inline]
__x64_sys_unlink+0x49/0x50 fs/namei.c:4492
do_syscall_x64 arch/x86/entry/common.c:46 [inline]
do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:76
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7fe0d6d9e159
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:00007ffd43437c28 EFLAGS: 00000246 ORIG_RAX: 0000000000000057
RAX: ffffffffffffffda RBX: 00007fe0d7025fa0 RCX: 00007fe0d6d9e159
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000200000000040
RBP: 00007fe0d6e3503b R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fe0d7025fac R14: 00007fe0d7025fa0 R15: 00007fe0d7025fa0
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:ocfs2_find_dir_space_id fs/ocfs2/dir.c:3426 [inline]
RIP: 0010:ocfs2_prepare_dir_for_insert+0x3039/0x5520 fs/ocfs2/dir.c:4306
Code: ff ff e8 da d5 29 fe e9 bf d2 ff ff e8 d0 d5 29 fe e9 e2 02 00 00 e8 c6 d5 29 fe 49 8d 7f 08 49 8d 5f 09 48 89 f8 48 c1 e8 03 <42> 0f b6 04 20 84 c0 4c 8b b4 24 80 00 00 00 0f 85 e2 1f 00 00 4c
RSP: 0018:ffffc9000462f080 EFLAGS: 00010202
RAX: 0000000000000001 RBX: 0000000000000009 RCX: ffff888021bb9e00
RDX: 0000000000000000 RSI: ffff8880234c00c8 RDI: 0000000000000008
RBP: ffffc9000462f7b0 R08: ffffc9000462fac0 R09: 608b7c562adf3b03
R10: 23ec6d672c196c9a R11: 608b7c562adf3b03 R12: dffffc0000000000
R13: fffff520008c5e34 R14: 1ffff1100bc9cbcb R15: 0000000000000000
FS: 000055557ece2500(0000) GS:ffff8880b8e00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fe0d6c70050 CR3: 00000000182ee000 CR4: 00000000003506f0
----------------
Code disassembly (best guess), 1 bytes skipped:
0: ff ljmp (bad)
1: e8 da d5 29 fe call 0xfe29d5e0
6: e9 bf d2 ff ff jmp 0xffffd2ca
b: e8 d0 d5 29 fe call 0xfe29d5e0
10: e9 e2 02 00 00 jmp 0x2f7
15: e8 c6 d5 29 fe call 0xfe29d5e0
1a: 49 8d 7f 08 lea 0x8(%r15),%rdi
1e: 49 8d 5f 09 lea 0x9(%r15),%rbx
22: 48 89 f8 mov %rdi,%rax
25: 48 c1 e8 03 shr $0x3,%rax
* 29: 42 0f b6 04 20 movzbl (%rax,%r12,1),%eax <-- trapping instruction
2e: 84 c0 test %al,%al
30: 4c 8b b4 24 80 00 00 mov 0x80(%rsp),%r14
37: 00
38: 0f 85 e2 1f 00 00 jne 0x2020
3e: 4c rex.WR
* Struck through repros no longer work on HEAD.