================================ WARNING: inconsistent lock state 5.12.0-rc2-syzkaller #0 Not tainted -------------------------------- inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-R} usage. kworker/1:4/4644 [HC0[0]:SC1[1]:HE0:SE0] takes: 8a7e426c (&inode->i_size_seqcount){+.+-}-{0:0}, at: end_bio_bh_io_sync+0x38/0x54 fs/buffer.c:3006 {SOFTIRQ-ON-W} state was registered at: lock_acquire.part.0+0xf0/0x41c kernel/locking/lockdep.c:5510 lock_acquire+0x6c/0x74 kernel/locking/lockdep.c:5483 do_write_seqcount_begin_nested include/linux/seqlock.h:520 [inline] do_write_seqcount_begin include/linux/seqlock.h:545 [inline] i_size_write include/linux/fs.h:863 [inline] set_capacity+0x13c/0x1f8 block/genhd.c:50 brd_alloc+0x130/0x180 drivers/block/brd.c:401 brd_init+0xcc/0x1e0 drivers/block/brd.c:500 do_one_initcall+0x8c/0x59c init/main.c:1226 do_initcall_level init/main.c:1299 [inline] do_initcalls init/main.c:1315 [inline] do_basic_setup init/main.c:1335 [inline] kernel_init_freeable+0x2cc/0x330 init/main.c:1537 kernel_init+0x10/0x120 init/main.c:1424 ret_from_fork+0x14/0x20 arch/arm/kernel/entry-common.S:158 0x0 irq event stamp: 93377 hardirqs last enabled at (93376): [<802011ec>] __do_softirq+0xf4/0x7ac kernel/softirq.c:329 hardirqs last disabled at (93377): [<8277d260>] __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:157 [inline] hardirqs last disabled at (93377): [<8277d260>] _raw_read_lock_irqsave+0x84/0x88 kernel/locking/spinlock.c:231 softirqs last enabled at (93350): [<8020167c>] __do_softirq+0x584/0x7ac kernel/softirq.c:372 softirqs last disabled at (93375): [<8024e224>] do_softirq_own_stack include/asm-generic/softirq_stack.h:10 [inline] softirqs last disabled at (93375): [<8024e224>] invoke_softirq kernel/softirq.c:228 [inline] softirqs last disabled at (93375): [<8024e224>] __irq_exit_rcu+0x1d8/0x200 kernel/softirq.c:422 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&inode->i_size_seqcount); lock(&inode->i_size_seqcount); *** DEADLOCK *** 3 locks held by kworker/1:4/4644: #0: 8500f4a8 ((wq_completion)rcu_gp){+.+.}-{0:0}, at: set_work_data kernel/workqueue.c:615 [inline] #0: 8500f4a8 ((wq_completion)rcu_gp){+.+.}-{0:0}, at: set_work_pool_and_clear_pending kernel/workqueue.c:643 [inline] #0: 8500f4a8 ((wq_completion)rcu_gp){+.+.}-{0:0}, at: process_one_work+0x214/0x998 kernel/workqueue.c:2246 #1: 8ad41ef8 ((work_completion)(&sdp->work)){+.+.}-{0:0}, at: set_work_data kernel/workqueue.c:615 [inline] #1: 8ad41ef8 ((work_completion)(&sdp->work)){+.+.}-{0:0}, at: set_work_pool_and_clear_pending kernel/workqueue.c:643 [inline] #1: 8ad41ef8 ((work_completion)(&sdp->work)){+.+.}-{0:0}, at: process_one_work+0x214/0x998 kernel/workqueue.c:2246 #2: 8a7e4010 (&ni->size_lock){...-}-{2:2}, at: ntfs_end_buffer_async_read+0x6c/0x558 fs/ntfs/aops.c:66 stack backtrace: CPU: 1 PID: 4644 Comm: kworker/1:4 Not tainted 5.12.0-rc2-syzkaller #0 Hardware name: ARM-Versatile Express Workqueue: rcu_gp srcu_invoke_callbacks Backtrace: [<82740468>] (dump_backtrace) from [<827406dc>] (show_stack+0x18/0x1c arch/arm/kernel/traps.c:252) r7:00000080 r6:60000193 r5:00000000 r4:8422a3c4 [<827406c4>] (show_stack) from [<82751b58>] (__dump_stack lib/dump_stack.c:79 [inline]) [<827406c4>] (show_stack) from [<82751b58>] (dump_stack+0xb8/0xe8 lib/dump_stack.c:120) [<82751aa0>] (dump_stack) from [<82742918>] (print_usage_bug.part.0+0x228/0x230 kernel/locking/lockdep.c:3806) r7:8ad386e8 r6:82803274 r5:848a3628 r4:8ad38000 [<827426f0>] (print_usage_bug.part.0) from [<802bb4b8>] (print_usage_bug kernel/locking/lockdep.c:3776 [inline]) [<827426f0>] (print_usage_bug.part.0) from [<802bb4b8>] (valid_state kernel/locking/lockdep.c:3818 [inline]) [<827426f0>] (print_usage_bug.part.0) from [<802bb4b8>] (mark_lock_irq kernel/locking/lockdep.c:4021 [inline]) [<827426f0>] (print_usage_bug.part.0) from [<802bb4b8>] (mark_lock.part.0+0xc34/0x136c kernel/locking/lockdep.c:4478) r10:84a42fe8 r9:84437748 r8:00000000 r7:844372d4 r6:00000006 r5:8ad386e8 r4:00000005 [<802ba884>] (mark_lock.part.0) from [<802bca0c>] (mark_lock kernel/locking/lockdep.c:4442 [inline]) [<802ba884>] (mark_lock.part.0) from [<802bca0c>] (mark_usage kernel/locking/lockdep.c:4365 [inline]) [<802ba884>] (mark_lock.part.0) from [<802bca0c>] (__lock_acquire+0xa84/0x3318 kernel/locking/lockdep.c:4854) r10:8ad386e8 r9:8ad38000 r8:00000001 r7:00040000 r6:0000023a r5:848a3628 r4:00000000 [<802bbf88>] (__lock_acquire) from [<802bfe90>] (lock_acquire.part.0+0xf0/0x41c kernel/locking/lockdep.c:5510) r10:00000080 r9:60000193 r8:00000000 r7:00000000 r6:83ecd680 r5:83ecd680 r4:8ad41ac0 [<802bfda0>] (lock_acquire.part.0) from [<802c0228>] (lock_acquire+0x6c/0x74 kernel/locking/lockdep.c:5483) r10:8052dcb4 r9:00000000 r8:00000001 r7:00000002 r6:00000000 r5:00000000 r4:8a7e426c [<802c01bc>] (lock_acquire) from [<808b1af8>] (seqcount_lockdep_reader_access include/linux/seqlock.h:103 [inline]) [<802c01bc>] (lock_acquire) from [<808b1af8>] (i_size_read include/linux/fs.h:838 [inline]) [<802c01bc>] (lock_acquire) from [<808b1af8>] (ntfs_end_buffer_async_read+0xb4/0x558 fs/ntfs/aops.c:68) r10:8a7e4000 r9:60000193 r8:8052dcb4 r7:8a7e426c r6:df380cb0 r5:8a6572a0 r4:8a7e41c8 [<808b1a44>] (ntfs_end_buffer_async_read) from [<8052dcb4>] (end_bio_bh_io_sync+0x38/0x54 fs/buffer.c:3006) r10:00000200 r9:00000200 r8:0000000a r7:00000000 r6:87263700 r5:8a6572a0 r4:8a2a7f00 [<8052dc7c>] (end_bio_bh_io_sync) from [<80f0f638>] (bio_endio+0x124/0x338 block/bio.c:1436) r5:80f0f84c r4:8a2a7f00 [<80f0f514>] (bio_endio) from [<80f166cc>] (req_bio_endio block/blk-core.c:265 [inline]) [<80f0f514>] (bio_endio) from [<80f166cc>] (blk_update_request+0x220/0x724 block/blk-core.c:1456) r9:00000200 r8:0000000a r7:00000000 r6:87263700 r5:00000200 r4:8a2a7f00 [<80f164ac>] (blk_update_request) from [<80f23128>] (blk_mq_end_request+0x1c/0x144 block/blk-mq.c:564) r10:00000010 r9:8ad40000 r8:8404ec98 r7:00000000 r6:00000004 r5:87263700 r4:87263700 [<80f2310c>] (blk_mq_end_request) from [<811d1e2c>] (lo_complete_rq+0x98/0xd4 drivers/block/loop.c:497) r7:00000001 r6:00000004 r5:87263700 r4:ffffffc8 [<811d1d94>] (lo_complete_rq) from [<80f21ab4>] (blk_complete_reqs+0x5c/0x68 block/blk-mq.c:576) r5:00000005 r4:ffffffc8 [<80f21a58>] (blk_complete_reqs) from [<80f21b1c>] (blk_done_softirq+0x2c/0x30 block/blk-mq.c:581) r5:00000005 r4:83ed846c [<80f21af0>] (blk_done_softirq) from [<802012fc>] (__do_softirq+0x204/0x7ac kernel/softirq.c:345) r5:00000005 r4:84004090 [<802010f8>] (__do_softirq) from [<8024e224>] (do_softirq_own_stack include/asm-generic/softirq_stack.h:10 [inline]) [<802010f8>] (__do_softirq) from [<8024e224>] (invoke_softirq kernel/softirq.c:228 [inline]) [<802010f8>] (__do_softirq) from [<8024e224>] (__irq_exit_rcu+0x1d8/0x200 kernel/softirq.c:422) r10:8ad41d70 r9:8ad41dd8 r8:00000001 r7:00000000 r6:83ed8498 r5:00000000 r4:83ed9d00 [<8024e04c>] (__irq_exit_rcu) from [<8024e3d8>] (irq_exit+0x10/0x3c kernel/softirq.c:446) r5:00000000 r4:83ed8498 [<8024e3c8>] (irq_exit) from [<802d8a34>] (__handle_domain_irq+0xb4/0x120 kernel/irq/irqdesc.c:692) [<802d8980>] (__handle_domain_irq) from [<810109b0>] (handle_domain_irq include/linux/irqdesc.h:176 [inline]) [<802d8980>] (__handle_domain_irq) from [<810109b0>] (gic_handle_irq+0x84/0xac drivers/irqchip/irq-gic.c:370) r10:00000000 r9:40000193 r8:e000200c r7:83ed84bc r6:e0002000 r5:8ad41dd8 r4:8404f4b4 [<8101092c>] (gic_handle_irq) from [<80200abc>] (__irq_svc+0x5c/0x94 arch/arm/kernel/entry-armv.S:205) Exception stack(0x8ad41dd8 to 0x8ad41e20) 1dc0: 00000001 8301b510 1de0: 5a109000 60000193 8ad41e28 83ecd680 83ecd680 00000000 00000000 60000113 1e00: 00000000 8ad41e9c 8ad41e18 8ad41e28 82773fac 802bfec4 20000113 ffffffff r9:8ad40000 r8:00000000 r7:8ad41e0c r6:ffffffff r5:20000113 r4:802bfec4 [<802bfda0>] (lock_acquire.part.0) from [<802c0228>] (lock_acquire+0x6c/0x74 kernel/locking/lockdep.c:5483) r10:802695e4 r9:00000000 r8:00000001 r7:00000000 r6:00000000 r5:00000000 r4:8ad41ef8 [<802c01bc>] (lock_acquire) from [<80269650>] (process_one_work+0x280/0x998 kernel/workqueue.c:2251) r10:00000008 r9:00000000 r8:00000001 r7:ddfe6c00 r6:ddfe2d40 r5:8a11f700 r4:ddfe7f14 [<802693d0>] (process_one_work) from [<80269dcc>] (worker_thread+0x64/0x54c kernel/workqueue.c:2421) r10:00000008 r9:8ad40000 r8:84006d00 r7:ddfe2d78 r6:8a11f714 r5:ddfe2d40 r4:8a11f700 [<80269d68>] (worker_thread) from [<80271f40>] (kthread+0x184/0x1a4 kernel/kthread.c:292) r10:8523de64 r9:8a11f700 r8:80269d68 r7:00000000 r6:8ad40000 r5:8a146040 r4:8a11f400 [<80271dbc>] (kthread) from [<80200114>] (ret_from_fork+0x14/0x20 arch/arm/kernel/entry-common.S:158) Exception stack(0x8ad41fb0 to 0x8ad41ff8) 1fa0: 00000000 00000000 00000000 00000000 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000 r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:80271dbc r4:8a146040