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

0 views
Skip to first unread message

syzbot

unread,
May 27, 2024, 4:45:26 PMMay 27
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: c61bd26ae81a Linux 5.15.160
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=118c4e2c980000
kernel config: https://syzkaller.appspot.com/x/.config?x=6a313cb27403a960
dashboard link: https://syzkaller.appspot.com/bug?extid=fc442b8ed38e8166f382
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
userspace arch: arm64

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/c5c43c69147f/disk-c61bd26a.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/3e9c98d00e66/vmlinux-c61bd26a.xz
kernel image: https://storage.googleapis.com/syzbot-assets/e9da759b078f/Image-c61bd26a.gz.xz

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

Unable to handle kernel paging request at virtual address dfff800000000002
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
[dfff800000000002] address between user and kernel address ranges
Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 10581 Comm: syz-executor.0 Not tainted 5.15.160-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/2024
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : mark_buffer_dirty_inode+0x5c/0x290 fs/buffer.c:573
lr : mark_buffer_dirty_inode+0x38/0x290 fs/buffer.c:571
sp : ffff80001e4475b0
x29: ffff80001e4475c0 x28: ffff0000d5e0d400 x27: ffff0000e8ec8380
x26: dfff800000000000 x25: 1ffff00003c88f00 x24: 0000000000000000
x23: ffff700003c88ed8 x22: ffff0000e8ec8040 x21: 0000000000000010
x20: ffff0000e8ec8188 x19: 0000000000000000 x18: 0000000000000000
x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
x11: 0000000000000000 x10: 0000000000000000 x9 : ffff0000f0449b40
x8 : 0000000000000002 x7 : 0000000001c9c380 x6 : 0000000000000118
x5 : ffff0000e8d7c858 x4 : ffff0000e8d7c848 x3 : ffff80000985f9f4
x2 : 0000000000000018 x1 : ffff0000e8ec8158 x0 : 0000000000000000
Call trace:
mark_buffer_dirty_inode+0x5c/0x290 fs/buffer.c:573
udf_rename+0xb50/0x10b0 fs/udf/namei.c:1190
vfs_rename+0xac8/0xe04 fs/namei.c:4832
do_renameat2+0xa00/0x10c0 fs/namei.c:4985
__do_sys_renameat2 fs/namei.c:5018 [inline]
__se_sys_renameat2 fs/namei.c:5015 [inline]
__arm64_sys_renameat2+0xe0/0xfc fs/namei.c:5015
__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+0x7c/0x1f0 arch/arm64/kernel/entry-common.c:608
el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:626
el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584
Code: 97f97c91 91004275 f940029b d343fea8 (387a6908)
---[ end trace 7990f49ae200d4b0 ]---
----------------
Code disassembly (best guess):
0: 97f97c91 bl 0xffffffffffe5f244
4: 91004275 add x21, x19, #0x10
8: f940029b ldr x27, [x20]
c: d343fea8 lsr x8, x21, #3
* 10: 387a6908 ldrb w8, [x8, x26] <-- 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 27, 2024, 7:14:24 PMMay 27
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: c61bd26ae81a Linux 5.15.160
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=1299c62c980000
kernel config: https://syzkaller.appspot.com/x/.config?x=6a313cb27403a960
dashboard link: https://syzkaller.appspot.com/bug?extid=fc442b8ed38e8166f382
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=129b463a980000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=16376caa980000
mounted in repro: https://storage.googleapis.com/syzbot-assets/ff61a5ea3887/mount_0.gz

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

Unable to handle kernel paging request at virtual address dfff800000000002
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
[dfff800000000002] address between user and kernel address ranges
Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 1 PID: 4014 Comm: syz-executor294 Not tainted 5.15.160-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/2024
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : mark_buffer_dirty_inode+0x5c/0x290 fs/buffer.c:573
lr : mark_buffer_dirty_inode+0x38/0x290 fs/buffer.c:571
sp : ffff80001cbe75b0
x29: ffff80001cbe75c0 x28: ffff0000d9e50000 x27: ffff0000df185060
x26: dfff800000000000 x25: 1ffff0000397cf00 x24: 0000000000000000
x23: ffff70000397ced8 x22: ffff0000df184d20 x21: 0000000000000010
x20: ffff0000df184e68 x19: 0000000000000000 x18: 0000000000000000
x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
x11: 0000000000000000 x10: 0000000000000000 x9 : ffff0000c2379b40
x8 : 0000000000000002 x7 : 00000000376eac80 x6 : 000000000000007b
x5 : ffff0000df184858 x4 : ffff0000df184848 x3 : ffff80000985f9f4
x2 : 0000000000000018 x1 : ffff0000df184e38 x0 : 0000000000000000
Call trace:
mark_buffer_dirty_inode+0x5c/0x290 fs/buffer.c:573
udf_rename+0xb50/0x10b0 fs/udf/namei.c:1190
vfs_rename+0xac8/0xe04 fs/namei.c:4832
do_renameat2+0xa00/0x10c0 fs/namei.c:4985
__do_sys_renameat2 fs/namei.c:5018 [inline]
__se_sys_renameat2 fs/namei.c:5015 [inline]
__arm64_sys_renameat2+0xe0/0xfc fs/namei.c:5015
__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+0x7c/0x1f0 arch/arm64/kernel/entry-common.c:608
el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:626
el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584
Code: 97f97c91 91004275 f940029b d343fea8 (387a6908)
---[ end trace 838a5793ae6d26c9 ]---
----------------
Code disassembly (best guess):
0: 97f97c91 bl 0xffffffffffe5f244
4: 91004275 add x21, x19, #0x10
8: f940029b ldr x27, [x20]
c: d343fea8 lsr x8, x21, #3
* 10: 387a6908 ldrb w8, [x8, x26] <-- 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