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

2 views
Skip to first unread message

syzbot

unread,
Mar 28, 2023, 9:59:52 AM3/28/23
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 115472395b0a Linux 5.15.104
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=175ae925c80000
kernel config: https://syzkaller.appspot.com/x/.config?x=e597b110d58e7b4
dashboard link: https://syzkaller.appspot.com/bug?extid=21cf083b42cddd4c2382
compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.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/76798ca1c9b6/disk-11547239.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/3b608633c8f5/vmlinux-11547239.xz
kernel image: https://storage.googleapis.com/syzbot-assets/8836fafb618b/Image-11547239.gz.xz

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

Unable to handle kernel paging request at virtual address dfff80000000023d
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
[dfff80000000023d] address between user and kernel address ranges
Internal error: Oops: 96000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 20022 Comm: syz-executor.3 Not tainted 5.15.104-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/02/2023
pstate: 804000c5 (Nzcv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : mem_cgroup_track_foreign_dirty_slowpath+0xe0/0x9f0 mm/memcontrol.c:4616
lr : trace_track_foreign_dirty include/trace/events/writeback.h:237 [inline]
lr : mem_cgroup_track_foreign_dirty_slowpath+0xd0/0x9f0 mm/memcontrol.c:4607
sp : ffff800025bf6e20
x29: ffff800025bf6e30 x28: 000000010000de94 x27: 0000000000000000
x26: dfff800000000000 x25: dfff800000000000 x24: 05ffc0000042200f
x23: ffff0000ccc505e0 x22: 0000000000000000 x21: 00000000000011e8
x20: ffff0000ccc50060 x19: 0000000000000000 x18: 0000000000000001
x17: ff8080000a9414c4 x16: ffff80001193d804 x15: ffff80000a9414c4
x14: 1ffff0000291806a x13: ffffffffffffffff x12: 0000000000000000
x11: ff8080000a99bea4 x10: 0000000000000003 x9 : 0000000000000000
x8 : 000000000000023d x7 : ffff8000089106a0 x6 : 0000000000000000
x5 : 0000000000000080 x4 : 0000000000000000 x3 : 0000000000000002
x2 : 0000000000000010 x1 : ffff800011f30380 x0 : 0000000000000001
Call trace:
mem_cgroup_track_foreign_dirty_slowpath+0xe0/0x9f0 mm/memcontrol.c:4616
mem_cgroup_track_foreign_dirty include/linux/memcontrol.h:1588 [inline]
account_page_dirtied mm/page-writeback.c:2463 [inline]
__set_page_dirty+0x8c0/0xc7c mm/page-writeback.c:2500
mark_buffer_dirty+0x27c/0x574 fs/buffer.c:1108
__block_commit_write+0x1f8/0x358 fs/buffer.c:2085
block_write_end+0x60/0x114 fs/buffer.c:2164
blkdev_write_end+0x64/0x274 block/fops.c:378
generic_perform_write+0x354/0x520 mm/filemap.c:3787
__generic_file_write_iter+0x230/0x454 mm/filemap.c:3903
blkdev_write_iter+0x30c/0x470 block/fops.c:534
do_iter_readv_writev+0x420/0x5f8
do_iter_write+0x1b8/0x664 fs/read_write.c:855
vfs_iter_write+0x88/0xac fs/read_write.c:896
iter_file_splice_write+0x618/0xc48 fs/splice.c:689
do_splice_from fs/splice.c:767 [inline]
direct_splice_actor+0xe4/0x1c0 fs/splice.c:936
splice_direct_to_actor+0x408/0x9a0 fs/splice.c:891
do_splice_direct+0x1f4/0x334 fs/splice.c:979
do_sendfile+0x4bc/0xc70 fs/read_write.c:1249
__do_sys_sendfile64 fs/read_write.c:1311 [inline]
__se_sys_sendfile64 fs/read_write.c:1303 [inline]
__arm64_sys_sendfile64+0x264/0x408 fs/read_write.c:1303
__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:596
el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:614
el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584
Code: 36002f20 52823d08 8b080275 d343fea8 (38796908)
---[ end trace 7d133561374e684c ]---
----------------
Code disassembly (best guess):
0: 36002f20 tbz w0, #0, 0x5e4
4: 52823d08 mov w8, #0x11e8 // #4584
8: 8b080275 add x21, x19, x8
c: d343fea8 lsr x8, x21, #3
* 10: 38796908 ldrb w8, [x8, x25] <-- 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.

syzbot

unread,
Mar 28, 2023, 12:23:01 PM3/28/23
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 115472395b0a Linux 5.15.104
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=157e6ad1c80000
kernel config: https://syzkaller.appspot.com/x/.config?x=e597b110d58e7b4
dashboard link: https://syzkaller.appspot.com/bug?extid=21cf083b42cddd4c2382
compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1642cd49c80000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=115df949c80000
mounted in repro #1: https://storage.googleapis.com/syzbot-assets/4f28d533a427/mount_8.gz
mounted in repro #2: https://storage.googleapis.com/syzbot-assets/ccf1d2af2c22/mount_9.gz

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

Unable to handle kernel paging request at virtual address dfff80000000023d
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
[dfff80000000023d] address between user and kernel address ranges
Internal error: Oops: 96000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 4065 Comm: syz-executor267 Not tainted 5.15.104-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/02/2023
pstate: 804000c5 (Nzcv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : mem_cgroup_track_foreign_dirty_slowpath+0xe0/0x9f0 mm/memcontrol.c:4616
lr : trace_track_foreign_dirty include/trace/events/writeback.h:237 [inline]
lr : mem_cgroup_track_foreign_dirty_slowpath+0xd0/0x9f0 mm/memcontrol.c:4607
sp : ffff80001af17820
x29: ffff80001af17830 x28: 00000000ffff9b82 x27: 0000000000000000
x26: dfff800000000000 x25: dfff800000000000 x24: 05ffc0000042080f
x23: ffff0000ccae65e0 x22: 0000000000000000 x21: 00000000000011e8
x20: ffff0000ccae6060 x19: 0000000000000000 x18: ffff80001af17200
x17: 1fffe000368fff8e x16: ffff80001193d804 x15: 000000000000b598
x14: 1ffff0000291806a x13: ffffffffffffffff x12: 0000000000000000
x11: ff8080000a99bea4 x10: 0000000000000003 x9 : 0000000000000000
x8 : 000000000000023d x7 : ffff8000089106a0 x6 : 0000000000000000
x5 : 0000000000000080 x4 : 0000000000000000 x3 : 0000000000000002
x2 : 0000000000000010 x1 : ffff800011f30380 x0 : 0000000000000001
Call trace:
mem_cgroup_track_foreign_dirty_slowpath+0xe0/0x9f0 mm/memcontrol.c:4616
mem_cgroup_track_foreign_dirty include/linux/memcontrol.h:1588 [inline]
account_page_dirtied mm/page-writeback.c:2463 [inline]
__set_page_dirty+0x8c0/0xc7c mm/page-writeback.c:2500
__set_page_dirty_buffers+0x288/0x4b4 fs/buffer.c:643
set_page_dirty+0x23c/0x544 mm/page-writeback.c:2609
filemap_page_mkwrite+0x5d4/0xb24 mm/filemap.c:3371
do_page_mkwrite+0x144/0x37c mm/memory.c:2883
wp_page_shared+0x14c/0x398 mm/memory.c:3216
do_wp_page+0x7cc/0x9c4 mm/memory.c:3317
handle_pte_fault mm/memory.c:4612 [inline]
__handle_mm_fault mm/memory.c:4729 [inline]
handle_mm_fault+0x1ce4/0x33c4 mm/memory.c:4827
__do_page_fault arch/arm64/mm/fault.c:505 [inline]
do_page_fault+0x700/0xb60 arch/arm64/mm/fault.c:605
do_mem_abort+0x70/0x1d8 arch/arm64/mm/fault.c:819
el0_da+0x94/0x20c arch/arm64/kernel/entry-common.c:482
el0t_64_sync_handler+0xc0/0xe4 arch/arm64/kernel/entry-common.c:617
el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584
Code: 36002f20 52823d08 8b080275 d343fea8 (38796908)
---[ end trace c55f7a1b02640c47 ]---
Reply all
Reply to author
Forward
0 new messages