[v5.15] BUG: unable to handle kernel paging request in hfsplus_rename_cat

10 views
Skip to first unread message

syzbot

unread,
May 4, 2025, 5:53:25 PM5/4/25
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 16fdf2c7111b Linux 5.15.181
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=166a8e6f980000
kernel config: https://syzkaller.appspot.com/x/.config?x=78ce1ad3d91bc375
dashboard link: https://syzkaller.appspot.com/bug?extid=f72d9323af31cf023d28
compiler: Debian clang version 20.1.2 (++20250402124445+58df0ef89dd6-1~exp1~20250402004600.97), Debian LLD 20.1.2
userspace arch: arm64

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/cbc22554cbd8/disk-16fdf2c7.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/d03dacaa22f5/vmlinux-16fdf2c7.xz
kernel image: https://storage.googleapis.com/syzbot-assets/b3dc7f1264c1/Image-16fdf2c7.gz.xz

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

hfsplus: bad catalog entry type
Unable to handle kernel paging request at virtual address dfff800000000008
Mem abort info:
ESR = 0x0000000096000006
EC = 0x25: DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x06: level 2 translation fault
Data abort info:
ISV = 0, ISS = 0x00000006
CM = 0, WnR = 0
[dfff800000000008] address between user and kernel address ranges
Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 1 PID: 4032 Comm: syz-executor Not tainted 5.15.181-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : hfsplus_rename_cat+0x314/0xd4c fs/hfsplus/catalog.c:480
lr : hfsplus_rename_cat+0x2f8/0xd4c fs/hfsplus/catalog.c:474
sp : ffff80001f137640
x29: ffff80001f137a40 x28: 0000000000000000 x27: ffff700003e26ed4
x26: ffff0000dc1df1f8 x25: ffff0000d73e1618 x24: ffff0000e5597000
x23: dfff800000000000 x22: ffff0000d0d06000 x21: ffff80001f1376a0
x20: 0000000000000040 x19: 1fffe0001ae7c2c3 x18: 0000000000000000
x17: 0000000000000000 x16: ffff8000082bdde4 x15: 0000000000000000
x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000ff0100
x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000200
x8 : 0000000000000008 x7 : 0000000000000000 x6 : 0000000000000000
x5 : ffff80001f137878 x4 : ffff0000ee57c1c4 x3 : ffff80001f137800
x2 : ffffffffffffffe8 x1 : 0000000000000000 x0 : 0000000000000000
Call trace:
hfsplus_rename_cat+0x314/0xd4c fs/hfsplus/catalog.c:480
hfsplus_unlink+0x25c/0x664 fs/hfsplus/dir.c:376
vfs_unlink+0x2e0/0x4f4 fs/namei.c:4280
do_unlinkat+0x31c/0x600 fs/namei.c:4348
__do_sys_unlinkat fs/namei.c:4391 [inline]
__se_sys_unlinkat fs/namei.c:4384 [inline]
__arm64_sys_unlinkat+0xe0/0xfc fs/namei.c:4384
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
do_el0_svc+0x58/0x14c arch/arm64/kernel/syscall.c:181
el0_svc+0x78/0x1e0 arch/arm64/kernel/entry-common.c:608
el0t_64_sync_handler+0xcc/0xe4 arch/arm64/kernel/entry-common.c:626
el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584
Code: 91010114 b9002be9 d343fe88 f9000fe8 (38776908)
---[ end trace 1e6480ccae2070d3 ]---
----------------
Code disassembly (best guess):
0: 91010114 add x20, x8, #0x40
4: b9002be9 str w9, [sp, #40]
8: d343fe88 lsr x8, x20, #3
c: f9000fe8 str x8, [sp, #24]
* 10: 38776908 ldrb w8, [x8, x23] <-- trapping instruction


---
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 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

syzbot

unread,
May 4, 2025, 7:00:27 PM5/4/25
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 16fdf2c7111b Linux 5.15.181
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=1200f0f4580000
kernel config: https://syzkaller.appspot.com/x/.config?x=78ce1ad3d91bc375
dashboard link: https://syzkaller.appspot.com/bug?extid=f72d9323af31cf023d28
compiler: Debian clang version 20.1.2 (++20250402124445+58df0ef89dd6-1~exp1~20250402004600.97), Debian LLD 20.1.2
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=17fe9a70580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=101750f4580000
mounted in repro: https://storage.googleapis.com/syzbot-assets/58a15909b34e/mount_0.gz

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

hfsplus: bad catalog entry type
Unable to handle kernel paging request at virtual address dfff800000000008
Mem abort info:
ESR = 0x0000000096000006
EC = 0x25: DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x06: level 2 translation fault
Data abort info:
ISV = 0, ISS = 0x00000006
CM = 0, WnR = 0
[dfff800000000008] address between user and kernel address ranges
Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 1 PID: 4021 Comm: syz-executor623 Not tainted 5.15.181-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : hfsplus_rename_cat+0x314/0xd4c fs/hfsplus/catalog.c:480
lr : hfsplus_rename_cat+0x2f8/0xd4c fs/hfsplus/catalog.c:474
sp : ffff80001f127640
x29: ffff80001f127a40 x28: 0000000000000000 x27: ffff700003e24ed4
x26: ffff0000dc26ec18 x25: ffff0000ca889cd8 x24: ffff0000d9355000
x23: dfff800000000000 x22: ffff0000dceaa000 x21: ffff80001f1276a0
x20: 0000000000000040 x19: 1fffe0001951139b x18: 0000000000000000
x17: 0000000000000000 x16: ffff8000082bdde4 x15: 0000000000000000
x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000ff0100
x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000200
x8 : 0000000000000008 x7 : 0000000000000000 x6 : 0000000000000000
x5 : ffff80001f127878 x4 : ffff0000e02be1c4 x3 : ffff80001f127800
x2 : ffffffffffffffe8 x1 : 0000000000000000 x0 : 0000000000000000
Call trace:
hfsplus_rename_cat+0x314/0xd4c fs/hfsplus/catalog.c:480
hfsplus_unlink+0x25c/0x664 fs/hfsplus/dir.c:376
vfs_unlink+0x2e0/0x4f4 fs/namei.c:4280
do_unlinkat+0x31c/0x600 fs/namei.c:4348
__do_sys_unlinkat fs/namei.c:4391 [inline]
__se_sys_unlinkat fs/namei.c:4384 [inline]
__arm64_sys_unlinkat+0xe0/0xfc fs/namei.c:4384
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
do_el0_svc+0x58/0x14c arch/arm64/kernel/syscall.c:181
el0_svc+0x78/0x1e0 arch/arm64/kernel/entry-common.c:608
el0t_64_sync_handler+0xcc/0xe4 arch/arm64/kernel/entry-common.c:626
el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584
Code: 91010114 b9002be9 d343fe88 f9000fe8 (38776908)
---[ end trace f98c11306e1c8308 ]---
----------------
Code disassembly (best guess):
0: 91010114 add x20, x8, #0x40
4: b9002be9 str w9, [sp, #40]
8: d343fe88 lsr x8, x20, #3
c: f9000fe8 str x8, [sp, #24]
* 10: 38776908 ldrb w8, [x8, x23] <-- trapping instruction


---
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.
Reply all
Reply to author
Forward
0 new messages