================================================================== BUG: KASAN: use-after-free in copy_page_from_iter_atomic+0x872/0x1120 lib/iov_iter.c:820 Read of size 4096 at addr ffff888078da9000 by task kworker/u4:9/4554 CPU: 1 PID: 4554 Comm: kworker/u4:9 Tainted: G W 6.1.122-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Workqueue: loop0 loop_workfn Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106 print_address_description mm/kasan/report.c:316 [inline] print_report+0x15f/0x4f0 mm/kasan/report.c:427 kasan_report+0x136/0x160 mm/kasan/report.c:531 kasan_check_range+0x27f/0x290 mm/kasan/generic.c:189 memcpy+0x25/0x60 mm/kasan/shadow.c:65 copy_page_from_iter_atomic+0x872/0x1120 lib/iov_iter.c:820 generic_perform_write+0x36c/0x5e0 mm/filemap.c:3853 __generic_file_write_iter+0x176/0x400 mm/filemap.c:3973 generic_file_write_iter+0xab/0x310 mm/filemap.c:4005 do_iter_write+0x6e6/0xc40 fs/read_write.c:861 lo_write_bvec drivers/block/loop.c:244 [inline] lo_write_simple drivers/block/loop.c:266 [inline] do_req_filebacked drivers/block/loop.c:490 [inline] loop_handle_cmd drivers/block/loop.c:1906 [inline] loop_process_work+0x13ff/0x2200 drivers/block/loop.c:1941 process_one_work+0x8a9/0x11d0 kernel/workqueue.c:2292 worker_thread+0xa47/0x1200 kernel/workqueue.c:2439 kthread+0x28d/0x320 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 The buggy address belongs to the physical page: page:ffffea0001e36a40 refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x78da9 flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff) raw: 00fff00000000000 ffffea00007acfc8 ffffea0001f2f488 0000000000000000 raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as freed page last allocated via order 0, migratetype Unmovable, gfp_mask 0x100dc0(GFP_USER|__GFP_ZERO), pid 4686, tgid 4685 (syz.0.88), ts 111147211383, free_ts 111388016552 set_page_owner include/linux/page_owner.h:31 [inline] post_alloc_hook+0x18d/0x1b0 mm/page_alloc.c:2532 prep_new_page mm/page_alloc.c:2539 [inline] get_page_from_freelist+0x3731/0x38d0 mm/page_alloc.c:4328 __alloc_pages+0x28d/0x770 mm/page_alloc.c:5605 lbmLogInit fs/jfs/jfs_logmgr.c:1816 [inline] lmLogInit+0x376/0x1c90 fs/jfs/jfs_logmgr.c:1270 open_inline_log fs/jfs/jfs_logmgr.c:1175 [inline] lmLogOpen+0x552/0x1030 fs/jfs/jfs_logmgr.c:1069 jfs_mount_rw+0xe3/0x640 fs/jfs/jfs_mount.c:253 jfs_fill_super+0x67d/0xc40 fs/jfs/super.c:565 mount_bdev+0x2c9/0x3f0 fs/super.c:1443 legacy_get_tree+0xeb/0x180 fs/fs_context.c:632 vfs_get_tree+0x88/0x270 fs/super.c:1573 do_new_mount+0x2ba/0xb40 fs/namespace.c:3056 do_mount fs/namespace.c:3399 [inline] __do_sys_mount fs/namespace.c:3607 [inline] __se_sys_mount+0x2d5/0x3c0 fs/namespace.c:3584 do_syscall_x64 arch/x86/entry/common.c:51 [inline] do_syscall_64+0x3b/0xb0 arch/x86/entry/common.c:81 entry_SYSCALL_64_after_hwframe+0x68/0xd2 page last free stack trace: reset_page_owner include/linux/page_owner.h:24 [inline] free_pages_prepare mm/page_alloc.c:1459 [inline] free_pcp_prepare mm/page_alloc.c:1509 [inline] free_unref_page_prepare+0x12a6/0x15b0 mm/page_alloc.c:3384 free_unref_page+0x33/0x3e0 mm/page_alloc.c:3479 lbmLogShutdown fs/jfs/jfs_logmgr.c:1864 [inline] lmLogShutdown+0x4f8/0x960 fs/jfs/jfs_logmgr.c:1684 lmLogClose+0x293/0x530 fs/jfs/jfs_logmgr.c:1460 jfs_umount+0x298/0x370 fs/jfs/jfs_umount.c:116 jfs_put_super+0x86/0x180 fs/jfs/super.c:194 generic_shutdown_super+0x130/0x340 fs/super.c:501 kill_block_super+0x7a/0xe0 fs/super.c:1470 deactivate_locked_super+0xa0/0x110 fs/super.c:332 cleanup_mnt+0x490/0x520 fs/namespace.c:1186 task_work_run+0x246/0x300 kernel/task_work.c:203 resume_user_mode_work include/linux/resume_user_mode.h:49 [inline] exit_to_user_mode_loop+0xde/0x100 kernel/entry/common.c:177 exit_to_user_mode_prepare+0xb1/0x140 kernel/entry/common.c:210 __syscall_exit_to_user_mode_work kernel/entry/common.c:292 [inline] syscall_exit_to_user_mode+0x60/0x270 kernel/entry/common.c:303 do_syscall_64+0x47/0xb0 arch/x86/entry/common.c:87 entry_SYSCALL_64_after_hwframe+0x68/0xd2 Memory state around the buggy address: ffff888078da8f00: fa fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ffff888078da8f80: fa fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc >ffff888078da9000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ^ ffff888078da9080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff888078da9100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ==================================================================