BUG: sleeping function called from invalid context at kernel/locking/rwsem.c:1523
in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 6513, name: syz.3.139
preempt_count: 0, expected: 0
RCU nest depth: 1, expected: 0
1 lock held by syz.3.139/6513:
#0: ffffffff8e938960 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:337 [inline]
#0: ffffffff8e938960 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline]
#0: ffffffff8e938960 (rcu_read_lock){....}-{1:3}, at: blk_mq_flush_plug_list+0x282/0x1870 block/blk-mq.c:2904
CPU: 0 UID: 0 PID: 6513 Comm: syz.3.139 Not tainted 6.14.0-rc1-next-20250204-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024
Call Trace:
__dump_stack lib/dump_stack.c:94 [inline]
dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120
__might_resched+0x5d4/0x780 kernel/sched/core.c:8766
down_read+0x8e/0xa40 kernel/locking/rwsem.c:1523
i_mmap_lock_read include/linux/fs.h:565 [inline]
unmap_mapping_folio+0x284/0x3b0 mm/memory.c:3887
folio_unmap_invalidate+0x122/0x510 mm/truncate.c:557
folio_end_reclaim_write mm/filemap.c:1609 [inline]
folio_end_writeback+0x430/0x560 mm/filemap.c:1642
end_bio_bh_io_sync+0xbf/0x120 fs/buffer.c:2766
blk_update_request+0x5e5/0x1160 block/blk-mq.c:983
blk_mq_end_request+0x3e/0x70 block/blk-mq.c:1145
nullb_complete_cmd drivers/block/null_blk/main.c:1354 [inline]
null_handle_cmd drivers/block/null_blk/main.c:1405 [inline]
null_queue_rq+0xbb1/0xd60 drivers/block/null_blk/main.c:1645
null_queue_rqs+0x1e7/0x370 drivers/block/null_blk/main.c:1659
__blk_mq_flush_plug_list block/blk-mq.c:2825 [inline]
blk_mq_flush_plug_list+0x56a/0x1870 block/blk-mq.c:2904
__blk_flush_plug+0x420/0x500 block/blk-core.c:1213
blk_finish_plug+0x5e/0x80 block/blk-core.c:1240
blkdev_writepages+0xb4/0x100 block/fops.c:460
do_writepages+0x35f/0x880 mm/page-writeback.c:2687
filemap_fdatawrite_wbc mm/filemap.c:389 [inline]
__filemap_fdatawrite_range mm/filemap.c:422 [inline]
filemap_write_and_wait_range+0x283/0x3a0 mm/filemap.c:694
blkdev_read_iter+0x1a4/0x460 block/fops.c:780
copy_splice_read+0x637/0xb40 fs/splice.c:365
do_splice_read fs/splice.c:984 [inline]
splice_direct_to_actor+0x4fa/0xc80 fs/splice.c:1089
do_splice_direct_actor fs/splice.c:1207 [inline]
do_splice_direct+0x289/0x3e0 fs/splice.c:1233
do_sendfile+0x564/0x8a0 fs/read_write.c:1363
__do_sys_sendfile64 fs/read_write.c:1424 [inline]
__se_sys_sendfile64+0x17c/0x1e0 fs/read_write.c:1410
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f602e58cda9
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f602f33f038 EFLAGS: 00000246 ORIG_RAX: 0000000000000028
RAX: ffffffffffffffda RBX: 00007f602e7a6160 RCX: 00007f602e58cda9
RDX: 0000000000000000 RSI: 000000000000000c RDI: 000000000000000c
RBP: 00007f602e60e2a0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000020003 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007f602e7a6160 R15: 00007ffea71a1618
=============================
[ BUG: Invalid wait context ]
6.14.0-rc1-next-20250204-syzkaller #0 Tainted: G W
-----------------------------
syz.3.139/6513 is trying to lock:
ffff888148d3cf70 (&mapping->i_mmap_rwsem){++++}-{4:4}, at: i_mmap_lock_read include/linux/fs.h:565 [inline]
ffff888148d3cf70 (&mapping->i_mmap_rwsem){++++}-{4:4}, at: unmap_mapping_folio+0x284/0x3b0 mm/memory.c:3887
other info that might help us debug this:
context-{5:5}
1 lock held by syz.3.139/6513:
#0: ffffffff8e938960 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:337 [inline]
#0: ffffffff8e938960 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline]
#0: ffffffff8e938960 (rcu_read_lock){....}-{1:3}, at: blk_mq_flush_plug_list+0x282/0x1870 block/blk-mq.c:2904
stack backtrace:
CPU: 0 UID: 0 PID: 6513 Comm: syz.3.139 Tainted: G W 6.14.0-rc1-next-20250204-syzkaller #0
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024
Call Trace:
__dump_stack lib/dump_stack.c:94 [inline]
dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120
print_lock_invalid_wait_context kernel/locking/lockdep.c:4828 [inline]
check_wait_context kernel/locking/lockdep.c:4900 [inline]
__lock_acquire+0x15a8/0x2100 kernel/locking/lockdep.c:5178
lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5851
down_read+0xb1/0xa40 kernel/locking/rwsem.c:1524
i_mmap_lock_read include/linux/fs.h:565 [inline]
unmap_mapping_folio+0x284/0x3b0 mm/memory.c:3887
folio_unmap_invalidate+0x122/0x510 mm/truncate.c:557
folio_end_reclaim_write mm/filemap.c:1609 [inline]
folio_end_writeback+0x430/0x560 mm/filemap.c:1642
end_bio_bh_io_sync+0xbf/0x120 fs/buffer.c:2766
blk_update_request+0x5e5/0x1160 block/blk-mq.c:983
blk_mq_end_request+0x3e/0x70 block/blk-mq.c:1145
nullb_complete_cmd drivers/block/null_blk/main.c:1354 [inline]
null_handle_cmd drivers/block/null_blk/main.c:1405 [inline]
null_queue_rq+0xbb1/0xd60 drivers/block/null_blk/main.c:1645
null_queue_rqs+0x1e7/0x370 drivers/block/null_blk/main.c:1659
__blk_mq_flush_plug_list block/blk-mq.c:2825 [inline]
blk_mq_flush_plug_list+0x56a/0x1870 block/blk-mq.c:2904
__blk_flush_plug+0x420/0x500 block/blk-core.c:1213
blk_finish_plug+0x5e/0x80 block/blk-core.c:1240
blkdev_writepages+0xb4/0x100 block/fops.c:460
do_writepages+0x35f/0x880 mm/page-writeback.c:2687
filemap_fdatawrite_wbc mm/filemap.c:389 [inline]
__filemap_fdatawrite_range mm/filemap.c:422 [inline]
filemap_write_and_wait_range+0x283/0x3a0 mm/filemap.c:694
blkdev_read_iter+0x1a4/0x460 block/fops.c:780
copy_splice_read+0x637/0xb40 fs/splice.c:365
do_splice_read fs/splice.c:984 [inline]
splice_direct_to_actor+0x4fa/0xc80 fs/splice.c:1089
do_splice_direct_actor fs/splice.c:1207 [inline]
do_splice_direct+0x289/0x3e0 fs/splice.c:1233
do_sendfile+0x564/0x8a0 fs/read_write.c:1363
__do_sys_sendfile64 fs/read_write.c:1424 [inline]
__se_sys_sendfile64+0x17c/0x1e0 fs/read_write.c:1410
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f602e58cda9
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f602f33f038 EFLAGS: 00000246 ORIG_RAX: 0000000000000028
RAX: ffffffffffffffda RBX: 00007f602e7a6160 RCX: 00007f602e58cda9
RDX: 0000000000000000 RSI: 000000000000000c RDI: 000000000000000c
RBP: 00007f602e60e2a0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000020003 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007f602e7a6160 R15: 00007ffea71a1618