Re: [syzbot] [mm?] KMSAN: uninit-value in swap_writepage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



syzbot has found a reproducer for the following issue on:

HEAD commit:    493f3f38da21 Merge tag 'scsi-fixes' of git://git.kernel.or..
git tree:       upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=102582a4580000
kernel config:  https://syzkaller.appspot.com/x/.config?x=f20bce78db15972a
dashboard link: https://syzkaller.appspot.com/bug?extid=febb2473441bfb8fb380
compiler:       Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=142f5b18580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/7b55c1bb607a/disk-493f3f38.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/dc5eaf46c59e/vmlinux-493f3f38.xz
kernel image: https://storage.googleapis.com/syzbot-assets/314f12332ac4/bzImage-493f3f38.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/07ee34a1a626/mount_2.gz
  fsck result: OK (log: https://syzkaller.appspot.com/x/fsck.log?x=141291b0580000)

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+febb2473441bfb8fb380@xxxxxxxxxxxxxxxxxxxxxxxxx

=====================================================
BUG: KMSAN: uninit-value in is_folio_zero_filled mm/page_io.c:188 [inline]
BUG: KMSAN: uninit-value in swap_writepage+0x547/0x1950 mm/page_io.c:266
 is_folio_zero_filled mm/page_io.c:188 [inline]
 swap_writepage+0x547/0x1950 mm/page_io.c:266
 shmem_writepage+0x2360/0x25a0 mm/shmem.c:1647
 pageout mm/vmscan.c:696 [inline]
 shrink_folio_list+0x5dd2/0x8220 mm/vmscan.c:1402
 evict_folios+0x94ed/0xb9c0 mm/vmscan.c:4660
 try_to_shrink_lruvec+0xc58/0x1080 mm/vmscan.c:4821
 lru_gen_shrink_lruvec mm/vmscan.c:4970 [inline]
 shrink_lruvec+0x49a/0x47c0 mm/vmscan.c:5715
 shrink_node_memcgs mm/vmscan.c:5951 [inline]
 shrink_node+0x105e/0x51c0 mm/vmscan.c:5992
 shrink_zones mm/vmscan.c:6237 [inline]
 do_try_to_free_pages+0x820/0x2550 mm/vmscan.c:6299
 try_to_free_mem_cgroup_pages+0x3fa/0xa60 mm/vmscan.c:6631
 try_charge_memcg+0x71a/0x1780 mm/memcontrol.c:2255
 obj_cgroup_charge_pages+0x2cb/0x640 mm/memcontrol.c:2636
 __memcg_kmem_charge_page+0x151/0x520 mm/memcontrol.c:2663
 __alloc_frozen_pages_noprof+0x93d/0xe00 mm/page_alloc.c:4756
 alloc_pages_mpol+0x4cd/0x890 mm/mempolicy.c:2270
 alloc_frozen_pages_noprof mm/mempolicy.c:2341 [inline]
 alloc_pages_noprof+0x1b5/0x250 mm/mempolicy.c:2361
 io_mem_alloc_compound io_uring/memmap.c:29 [inline]
 io_region_allocate_pages+0x168/0x8b0 io_uring/memmap.c:167
 io_create_region+0x6eb/0x810 io_uring/memmap.c:223
 io_allocate_scq_urings+0x3a2/0xa50 io_uring/io_uring.c:3479
 io_uring_create+0xabc/0x1440 io_uring/io_uring.c:3701
 io_uring_setup io_uring/io_uring.c:3791 [inline]
 __do_sys_io_uring_setup io_uring/io_uring.c:3818 [inline]
 __se_sys_io_uring_setup+0x476/0x4d0 io_uring/io_uring.c:3812
 __x64_sys_io_uring_setup+0x6c/0xa0 io_uring/io_uring.c:3812
 x64_sys_call+0x2e82/0x3c30 arch/x86/include/generated/asm/syscalls_64.h:426
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Uninit was stored to memory at:
 memcpy_from_iter lib/iov_iter.c:73 [inline]
 iterate_bvec include/linux/iov_iter.h:123 [inline]
 iterate_and_advance2 include/linux/iov_iter.h:304 [inline]
 iterate_and_advance include/linux/iov_iter.h:328 [inline]
 __copy_from_iter lib/iov_iter.c:249 [inline]
 copy_page_from_iter_atomic+0x1299/0x30c0 lib/iov_iter.c:483
 copy_folio_from_iter_atomic include/linux/uio.h:210 [inline]
 generic_perform_write+0x8d1/0x1080 mm/filemap.c:4201
 shmem_file_write_iter+0x2ba/0x2f0 mm/shmem.c:3454
 do_iter_readv_writev+0x93a/0xbc0
 vfs_iter_write+0x44d/0xd60 fs/read_write.c:974
 lo_write_bvec drivers/block/loop.c:245 [inline]
 lo_write_simple drivers/block/loop.c:266 [inline]
 do_req_filebacked drivers/block/loop.c:520 [inline]
 loop_handle_cmd drivers/block/loop.c:1929 [inline]
 loop_process_work+0x15fb/0x3760 drivers/block/loop.c:1964
 loop_workfn+0x48/0x60 drivers/block/loop.c:1988
 process_one_work kernel/workqueue.c:3236 [inline]
 process_scheduled_works+0xae0/0x1c40 kernel/workqueue.c:3317
 worker_thread+0xea7/0x14f0 kernel/workqueue.c:3398
 kthread+0x6b9/0xef0 kernel/kthread.c:464
 ret_from_fork+0x6d/0x90 arch/x86/kernel/process.c:148
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244

Uninit was created at:
 __alloc_frozen_pages_noprof+0x9a7/0xe00 mm/page_alloc.c:4762
 __alloc_pages_noprof mm/page_alloc.c:4773 [inline]
 alloc_pages_bulk_noprof+0x1227/0x1a60 mm/page_alloc.c:4693
 btrfs_alloc_page_array fs/btrfs/extent_io.c:632 [inline]
 alloc_eb_folio_array+0x199/0x750 fs/btrfs/extent_io.c:656
 alloc_extent_buffer+0x76a/0x36f0 fs/btrfs/extent_io.c:3092
 btrfs_find_create_tree_block+0x46/0x60 fs/btrfs/disk-io.c:614
 btrfs_init_new_buffer fs/btrfs/extent-tree.c:5017 [inline]
 btrfs_alloc_tree_block+0x415/0x1990 fs/btrfs/extent-tree.c:5130
 btrfs_alloc_log_tree_node fs/btrfs/disk-io.c:950 [inline]
 btrfs_add_log_tree+0x1b7/0x7a0 fs/btrfs/disk-io.c:998
 start_log_trans fs/btrfs/tree-log.c:227 [inline]
 btrfs_log_inode_parent+0xa87/0x1c30 fs/btrfs/tree-log.c:7097
 btrfs_log_dentry_safe+0x9a/0x100 fs/btrfs/tree-log.c:7202
 btrfs_sync_file+0x1676/0x2180 fs/btrfs/file.c:1649
 vfs_fsync_range+0x1f9/0x260 fs/sync.c:187
 generic_write_sync include/linux/fs.h:2970 [inline]
 btrfs_do_write_iter+0xabe/0xcb0 fs/btrfs/file.c:1386
 btrfs_file_write_iter+0x38/0x50 fs/btrfs/file.c:1396
 new_sync_write fs/read_write.c:586 [inline]
 vfs_write+0xb34/0x1540 fs/read_write.c:679
 ksys_write+0x240/0x4b0 fs/read_write.c:731
 __do_sys_write fs/read_write.c:742 [inline]
 __se_sys_write fs/read_write.c:739 [inline]
 __x64_sys_write+0x93/0xe0 fs/read_write.c:739
 x64_sys_call+0x3161/0x3c30 arch/x86/include/generated/asm/syscalls_64.h:2
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

CPU: 0 UID: 0 PID: 6322 Comm: syz.0.26 Not tainted 6.14.0-rc1-syzkaller-00224-g493f3f38da21 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024
=====================================================


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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux