syz-executor.0 (20504): drop_caches: 1 ====================================================== WARNING: possible circular locking dependency detected 4.19.211-syzkaller #0 Not tainted ------------------------------------------------------ kworker/u4:7/9385 is trying to acquire lock: 000000009f71fc65 (&rl->lock){++++}, at: ntfs_read_block fs/ntfs/aops.c:265 [inline] 000000009f71fc65 (&rl->lock){++++}, at: ntfs_readpage+0x1909/0x21b0 fs/ntfs/aops.c:452 but task is already holding lock: 000000003be7f173 (&ni->mrec_lock){+.+.}, at: map_mft_record+0x3c/0xc70 fs/ntfs/mft.c:168 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&ni->mrec_lock){+.+.}: map_mft_record+0x3c/0xc70 fs/ntfs/mft.c:168 ntfs_map_runlist_nolock+0xbe5/0x17f0 fs/ntfs/attrib.c:105 ntfs_map_runlist+0x77/0xa0 fs/ntfs/attrib.c:306 ntfs_read_block fs/ntfs/aops.c:300 [inline] ntfs_readpage+0x195b/0x21b0 fs/ntfs/aops.c:452 read_pages.isra.0+0x329/0x5d0 mm/readahead.c:133 __do_page_cache_readahead+0x5c6/0x6c0 mm/readahead.c:211 ra_submit mm/internal.h:66 [inline] ondemand_readahead.isra.0+0x575/0xd40 mm/readahead.c:493 page_cache_sync_readahead mm/readahead.c:528 [inline] page_cache_sync_readahead+0x275/0x520 mm/readahead.c:510 generic_file_buffered_read mm/filemap.c:2115 [inline] generic_file_read_iter+0x1497/0x2b60 mm/filemap.c:2385 call_read_iter include/linux/fs.h:1815 [inline] new_sync_read fs/read_write.c:406 [inline] __vfs_read+0x518/0x750 fs/read_write.c:418 integrity_kernel_read+0x147/0x1f0 security/integrity/iint.c:200 ima_calc_file_hash_tfm security/integrity/ima/ima_crypto.c:364 [inline] ima_calc_file_shash security/integrity/ima/ima_crypto.c:393 [inline] ima_calc_file_hash+0x4b2/0x8a0 security/integrity/ima/ima_crypto.c:450 ima_collect_measurement+0x4c4/0x570 security/integrity/ima/ima_api.c:231 process_measurement+0xddd/0x1440 security/integrity/ima/ima_main.c:284 ima_file_check+0xb9/0x100 security/integrity/ima/ima_main.c:391 ieee802154 phy0 wpan0: encryption failed: -22 do_last fs/namei.c:3425 [inline] path_openat+0x7e4/0x2df0 fs/namei.c:3537 ieee802154 phy1 wpan1: encryption failed: -22 do_filp_open+0x18c/0x3f0 fs/namei.c:3567 do_sys_open+0x3b3/0x520 fs/open.c:1085 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe -> #0 (&rl->lock){++++}: down_read+0x36/0x80 kernel/locking/rwsem.c:24 ntfs_read_block fs/ntfs/aops.c:265 [inline] ntfs_readpage+0x1909/0x21b0 fs/ntfs/aops.c:452 do_read_cache_page+0x533/0x1170 mm/filemap.c:2828 read_mapping_page include/linux/pagemap.h:402 [inline] ntfs_map_page fs/ntfs/aops.h:89 [inline] ntfs_sync_mft_mirror+0x24f/0x1d00 fs/ntfs/mft.c:494 write_mft_record_nolock+0x13d2/0x16c0 fs/ntfs/mft.c:801 write_mft_record fs/ntfs/mft.h:109 [inline] __ntfs_write_inode+0x609/0xe10 fs/ntfs/inode.c:3064 write_inode fs/fs-writeback.c:1244 [inline] __writeback_single_inode+0x733/0x11d0 fs/fs-writeback.c:1442 writeback_sb_inodes+0x537/0xef0 fs/fs-writeback.c:1647 wb_writeback+0x28d/0xcc0 fs/fs-writeback.c:1820 wb_do_writeback fs/fs-writeback.c:1965 [inline] wb_workfn+0x29b/0x1250 fs/fs-writeback.c:2006 process_one_work+0x864/0x1570 kernel/workqueue.c:2153 worker_thread+0x64c/0x1130 kernel/workqueue.c:2296 kthread+0x33f/0x460 kernel/kthread.c:259 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415 other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&ni->mrec_lock); lock(&rl->lock); lock(&ni->mrec_lock); lock(&rl->lock); *** DEADLOCK *** 3 locks held by kworker/u4:7/9385: #0: 0000000057cdbcf4 ((wq_completion)"writeback"){+.+.}, at: process_one_work+0x767/0x1570 kernel/workqueue.c:2124 #1: 00000000705cb5b1 ((work_completion)(&(&wb->dwork)->work)){+.+.}, at: process_one_work+0x79c/0x1570 kernel/workqueue.c:2128 #2: 000000003be7f173 (&ni->mrec_lock){+.+.}, at: map_mft_record+0x3c/0xc70 fs/ntfs/mft.c:168 stack backtrace: CPU: 1 PID: 9385 Comm: kworker/u4:7 Not tainted 4.19.211-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/21/2023 Workqueue: writeback wb_workfn (flush-7:3) Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1fc/0x2ef lib/dump_stack.c:118 print_circular_bug.constprop.0.cold+0x2d7/0x41e kernel/locking/lockdep.c:1222 check_prev_add kernel/locking/lockdep.c:1866 [inline] check_prevs_add kernel/locking/lockdep.c:1979 [inline] validate_chain kernel/locking/lockdep.c:2420 [inline] __lock_acquire+0x30c9/0x3ff0 kernel/locking/lockdep.c:3416 lock_acquire+0x170/0x3c0 kernel/locking/lockdep.c:3908 down_read+0x36/0x80 kernel/locking/rwsem.c:24 ntfs_read_block fs/ntfs/aops.c:265 [inline] ntfs_readpage+0x1909/0x21b0 fs/ntfs/aops.c:452 do_read_cache_page+0x533/0x1170 mm/filemap.c:2828 read_mapping_page include/linux/pagemap.h:402 [inline] ntfs_map_page fs/ntfs/aops.h:89 [inline] ntfs_sync_mft_mirror+0x24f/0x1d00 fs/ntfs/mft.c:494 write_mft_record_nolock+0x13d2/0x16c0 fs/ntfs/mft.c:801 write_mft_record fs/ntfs/mft.h:109 [inline] __ntfs_write_inode+0x609/0xe10 fs/ntfs/inode.c:3064 write_inode fs/fs-writeback.c:1244 [inline] __writeback_single_inode+0x733/0x11d0 fs/fs-writeback.c:1442 writeback_sb_inodes+0x537/0xef0 fs/fs-writeback.c:1647 wb_writeback+0x28d/0xcc0 fs/fs-writeback.c:1820 wb_do_writeback fs/fs-writeback.c:1965 [inline] wb_workfn+0x29b/0x1250 fs/fs-writeback.c:2006 process_one_work+0x864/0x1570 kernel/workqueue.c:2153 worker_thread+0x64c/0x1130 kernel/workqueue.c:2296 kthread+0x33f/0x460 kernel/kthread.c:259 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415 syz-executor.0 (20504): drop_caches: 1 ntfs: volume version 3.1. 9pnet: Insufficient options for proto=fd device vxlan0 entered promiscuous mode syz-executor.0 (20568): drop_caches: 1 syz-executor.0 (20568): drop_caches: 1 device vxlan0 entered promiscuous mode ntfs: volume version 3.1. ntfs: volume version 3.1. device vxlan0 entered promiscuous mode audit: type=1804 audit(1676274252.619:348): pid=20612 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir3139754092/syzkaller.LklmRe/261/bus" dev="sda1" ino=14169 res=1 ntfs: volume version 3.1. audit: type=1804 audit(1676274252.629:349): pid=20612 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.0" name="/root/syzkaller-testdir3139754092/syzkaller.LklmRe/261/bus" dev="sda1" ino=14169 res=1 audit: type=1804 audit(1676274252.639:350): pid=20612 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir3139754092/syzkaller.LklmRe/261/bus" dev="sda1" ino=14169 res=1 audit: type=1804 audit(1676274252.709:351): pid=20692 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.0" name="/root/syzkaller-testdir3139754092/syzkaller.LklmRe/261/bus" dev="sda1" ino=14169 res=1 audit: type=1804 audit(1676274252.849:352): pid=20694 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir3139754092/syzkaller.LklmRe/262/bus" dev="sda1" ino=14168 res=1 ntfs: volume version 3.1. audit: type=1804 audit(1676274252.859:353): pid=20701 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.0" name="/root/syzkaller-testdir3139754092/syzkaller.LklmRe/262/bus" dev="sda1" ino=14168 res=1 audit: type=1804 audit(1676274252.859:354): pid=20701 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir3139754092/syzkaller.LklmRe/262/bus" dev="sda1" ino=14168 res=1 audit: type=1804 audit(1676274252.869:355): pid=20701 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.0" name="/root/syzkaller-testdir3139754092/syzkaller.LklmRe/262/bus" dev="sda1" ino=14168 res=1 audit: type=1800 audit(1676274253.439:356): pid=20728 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="bus" dev="sda1" ino=14174 res=0 audit: type=1800 audit(1676274253.459:357): pid=20728 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="bus" dev="sda1" ino=14174 res=0 device vxlan0 entered promiscuous mode ntfs: volume version 3.1. ntfs: volume version 3.1. device vxlan0 entered promiscuous mode ntfs: volume version 3.1. ntfs: volume version 3.1. device vxlan0 entered promiscuous mode ebt_among: dst integrity fail: 101 ntfs: volume version 3.1. ebt_among: dst integrity fail: 101 ebt_among: dst integrity fail: 101 ebt_among: dst integrity fail: 101 ntfs: volume version 3.1. device vxlan0 entered promiscuous mode ntfs: volume version 3.1. netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. ieee80211 phy14: Selected rate control algorithm 'minstrel_ht' pit: kvm: requested 4190 ns i8254 timer period limited to 200000 ns device vxlan0 entered promiscuous mode kvm: pic: non byte read kvm: pic: level sensitive irq not supported kvm: pic: non byte read ntfs: volume version 3.1. kvm: pic: non byte read kvm: pic: non byte read kvm: pic: level sensitive irq not supported kvm: pic: non byte read ntfs: volume version 3.1. netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. ieee80211 phy15: Selected rate control algorithm 'minstrel_ht' pit: kvm: requested 4190 ns i8254 timer period limited to 200000 ns device vxlan0 entered promiscuous mode pit: kvm: requested 4190 ns i8254 timer period limited to 200000 ns ntfs: volume version 3.1. kvm: pic: non byte read kvm: pic: level sensitive irq not supported kvm: pic: non byte read kvm: pic: non byte read kvm: pic: non byte read kvm: pic: level sensitive irq not supported kvm: pic: non byte read pit: kvm: requested 4190 ns i8254 timer period limited to 200000 ns kvm: pic: level sensitive irq not supported kvm: pic: level sensitive irq not supported ntfs: volume version 3.1. netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. ieee80211 phy16: Selected rate control algorithm 'minstrel_ht' netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. device vxlan0 entered promiscuous mode pit: kvm: requested 4190 ns i8254 timer period limited to 200000 ns kvm: pic: level sensitive irq not supported kvm: pic: level sensitive irq not supported ntfs: volume version 3.1. pit: kvm: requested 4190 ns i8254 timer period limited to 200000 ns kvm: pic: level sensitive irq not supported kvm: pic: level sensitive irq not supported ntfs: volume version 3.1. netlink: 24 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 24 bytes leftover after parsing attributes in process `syz-executor.5'. ieee80211 phy17: Selected rate control algorithm 'minstrel_ht' pit: kvm: requested 4190 ns i8254 timer period limited to 200000 ns ntfs: volume version 3.1. device vxlan0 entered promiscuous mode pit: kvm: requested 4190 ns i8254 timer period limited to 200000 ns pit: kvm: requested 4190 ns i8254 timer period limited to 200000 ns ntfs: volume version 3.1. ieee80211 phy18: Selected rate control algorithm 'minstrel_ht' pit: kvm: requested 4190 ns i8254 timer period limited to 200000 ns device vxlan0 entered promiscuous mode ntfs: volume version 3.1. ntfs: volume version 3.1. device vxlan0 entered promiscuous mode ntfs: volume version 3.1. ntfs: volume version 3.1. device vxlan0 entered promiscuous mode ntfs: volume version 3.1.