[v5.15] INFO: task hung in ni_readpage_cmpr

0 views
Skip to first unread message

syzbot

unread,
Feb 13, 2024, 2:32:23 AMFeb 13
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 6139f2a02fe0 Linux 5.15.148
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=1262b500180000
kernel config: https://syzkaller.appspot.com/x/.config?x=c170eb20d8be8542
dashboard link: https://syzkaller.appspot.com/bug?extid=4cc251673c16be47e2b1
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/528e8fe56997/disk-6139f2a0.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/18abf1e442f9/vmlinux-6139f2a0.xz
kernel image: https://storage.googleapis.com/syzbot-assets/0538a5d3b1f3/bzImage-6139f2a0.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+4cc251...@syzkaller.appspotmail.com

INFO: task syz-executor.4:10563 blocked for more than 143 seconds.
Not tainted 5.15.148-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.4 state:D stack:22936 pid:10563 ppid: 3539 flags:0x00004006
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5030 [inline]
__schedule+0x12c4/0x45b0 kernel/sched/core.c:6376
schedule+0x11b/0x1f0 kernel/sched/core.c:6459
io_schedule+0x88/0x100 kernel/sched/core.c:8484
wait_on_page_bit_common+0xa13/0x1180 mm/filemap.c:1356
__lock_page mm/filemap.c:1648 [inline]
lock_page include/linux/pagemap.h:625 [inline]
pagecache_get_page+0x5af/0x1010 mm/filemap.c:1910
find_or_create_page include/linux/pagemap.h:420 [inline]
ni_readpage_cmpr+0x2f2/0x8d0 fs/ntfs3/frecord.c:2087
ntfs_readpage+0x19a/0x210 fs/ntfs3/inode.c:725
filemap_read_page+0x166/0x4b0 mm/filemap.c:2386
filemap_update_page mm/filemap.c:2464 [inline]
filemap_get_pages mm/filemap.c:2574 [inline]
filemap_read+0x15dc/0x2980 mm/filemap.c:2634
call_read_iter include/linux/fs.h:2140 [inline]
generic_file_splice_read+0x4ad/0x790 fs/splice.c:311
do_splice_to fs/splice.c:796 [inline]
splice_direct_to_actor+0x448/0xc10 fs/splice.c:870
do_splice_direct+0x285/0x3d0 fs/splice.c:979
do_sendfile+0x625/0xff0 fs/read_write.c:1249
__do_sys_sendfile64 fs/read_write.c:1317 [inline]
__se_sys_sendfile64+0x178/0x1e0 fs/read_write.c:1303
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x61/0xcb
RIP: 0033:0x7f788516bda9
RSP: 002b:00007f78836ec0c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000028
RAX: ffffffffffffffda RBX: 00007f7885299f80 RCX: 00007f788516bda9
RDX: 0000000000000000 RSI: 0000000000000005 RDI: 0000000000000004
RBP: 00007f78851b847a R08: 0000000000000000 R09: 0000000000000000
R10: 000000000000f800 R11: 0000000000000246 R12: 0000000000000000
R13: 000000000000000b R14: 00007f7885299f80 R15: 00007ffc3eef7738
</TASK>
INFO: task syz-executor.4:10581 blocked for more than 144 seconds.
Not tainted 5.15.148-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.4 state:D stack:23328 pid:10581 ppid: 3539 flags:0x00004006
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5030 [inline]
__schedule+0x12c4/0x45b0 kernel/sched/core.c:6376
schedule+0x11b/0x1f0 kernel/sched/core.c:6459
io_schedule+0x88/0x100 kernel/sched/core.c:8484
wait_on_page_bit_common+0xa13/0x1180 mm/filemap.c:1356
__lock_page mm/filemap.c:1648 [inline]
lock_page include/linux/pagemap.h:625 [inline]
pagecache_get_page+0x5af/0x1010 mm/filemap.c:1910
find_or_create_page include/linux/pagemap.h:420 [inline]
ntfs_get_frame_pages+0xb9/0x4c0 fs/ntfs3/file.c:852
ntfs_compress_write+0xefd/0x1d00 fs/ntfs3/file.c:1004
ntfs_file_write_iter+0x3a2/0x540 fs/ntfs3/file.c:1143
do_iter_readv_writev+0x594/0x7a0
do_iter_write+0x1ea/0x760 fs/read_write.c:855
iter_file_splice_write+0x806/0xfa0 fs/splice.c:689
do_splice_from fs/splice.c:767 [inline]
direct_splice_actor+0xe3/0x1c0 fs/splice.c:936
splice_direct_to_actor+0x500/0xc10 fs/splice.c:891
do_splice_direct+0x285/0x3d0 fs/splice.c:979
do_sendfile+0x625/0xff0 fs/read_write.c:1249
__do_sys_sendfile64 fs/read_write.c:1317 [inline]
__se_sys_sendfile64+0x178/0x1e0 fs/read_write.c:1303
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x61/0xcb
RIP: 0033:0x7f788516bda9
RSP: 002b:00007f78836cb0c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000028
RAX: ffffffffffffffda RBX: 00007f788529a050 RCX: 00007f788516bda9
RDX: 0000000000000000 RSI: 0000000000000005 RDI: 0000000000000004
RBP: 00007f78851b847a R08: 0000000000000000 R09: 0000000000000000
R10: 000000000000f800 R11: 0000000000000246 R12: 0000000000000000
R13: 000000000000000b R14: 00007f788529a050 R15: 00007ffc3eef7738
</TASK>

Showing all locks held in the system:
1 lock held by khungtaskd/27:
#0: ffffffff8c91f220 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x0/0x30
2 locks held by getty/3257:
#0: ffff88814ad8e098 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x21/0x70 drivers/tty/tty_ldisc.c:252
#1: ffffc9000209b2e8 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x6af/0x1db0 drivers/tty/n_tty.c:2158
2 locks held by kworker/1:18/5055:
#0: ffff888011c72538 ((wq_completion)rcu_gp){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
#1: ffffc90003bd7d20 ((work_completion)(&rew.rew_work)){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
3 locks held by syz-executor.4/10563:
#0: ffff888024dc8460 (sb_writers#16){.+.+}-{0:0}, at: do_sendfile+0x600/0xff0 fs/read_write.c:1248
#1: ffff8880995d9400 (mapping.invalidate_lock#8){.+.+}-{3:3}, at: filemap_invalidate_lock_shared include/linux/fs.h:842 [inline]
#1: ffff8880995d9400 (mapping.invalidate_lock#8){.+.+}-{3:3}, at: filemap_update_page mm/filemap.c:2435 [inline]
#1: ffff8880995d9400 (mapping.invalidate_lock#8){.+.+}-{3:3}, at: filemap_get_pages mm/filemap.c:2574 [inline]
#1: ffff8880995d9400 (mapping.invalidate_lock#8){.+.+}-{3:3}, at: filemap_read+0xaef/0x2980 mm/filemap.c:2634
#2: ffff8880995d8fc0 (&ni->ni_lock/4){+.+.}-{3:3}, at: ni_lock fs/ntfs3/ntfs_fs.h:1110 [inline]
#2: ffff8880995d8fc0 (&ni->ni_lock/4){+.+.}-{3:3}, at: ntfs_readpage+0x18f/0x210 fs/ntfs3/inode.c:724
2 locks held by syz-executor.4/10581:
#0: ffff888024dc8460 (sb_writers#16){.+.+}-{0:0}, at: do_sendfile+0x600/0xff0 fs/read_write.c:1248
#1: ffff8880995d9260 (&sb->s_type->i_mutex_key#24){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:787 [inline]
#1: ffff8880995d9260 (&sb->s_type->i_mutex_key#24){+.+.}-{3:3}, at: ntfs_file_write_iter+0x24c/0x540 fs/ntfs3/file.c:1126
3 locks held by syz-executor.3/11180:
#0: ffff888078738460 (sb_writers#16){.+.+}-{0:0}, at: do_sendfile+0x600/0xff0 fs/read_write.c:1248
#1: ffff8880996bddc0 (mapping.invalidate_lock#8){.+.+}-{3:3}, at: filemap_invalidate_lock_shared include/linux/fs.h:842 [inline]
#1: ffff8880996bddc0 (mapping.invalidate_lock#8){.+.+}-{3:3}, at: filemap_create_page mm/filemap.c:2498 [inline]
#1: ffff8880996bddc0 (mapping.invalidate_lock#8){.+.+}-{3:3}, at: filemap_get_pages mm/filemap.c:2558 [inline]
#1: ffff8880996bddc0 (mapping.invalidate_lock#8){.+.+}-{3:3}, at: filemap_read+0xd75/0x2980 mm/filemap.c:2634
#2: ffff8880996bd980 (&ni->ni_lock/4){+.+.}-{3:3}, at: ni_lock fs/ntfs3/ntfs_fs.h:1110 [inline]
#2: ffff8880996bd980 (&ni->ni_lock/4){+.+.}-{3:3}, at: ntfs_readpage+0x18f/0x210 fs/ntfs3/inode.c:724
2 locks held by syz-executor.3/11194:
#0: ffff888078738460 (sb_writers#16){.+.+}-{0:0}, at: do_sendfile+0x600/0xff0 fs/read_write.c:1248
#1: ffff8880996bdc20 (&sb->s_type->i_mutex_key#24){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:787 [inline]
#1: ffff8880996bdc20 (&sb->s_type->i_mutex_key#24){+.+.}-{3:3}, at: ntfs_file_write_iter+0x24c/0x540 fs/ntfs3/file.c:1126
1 lock held by udevd/11329:
2 locks held by kworker/u4:14/13229:
2 locks held by syz-executor.0/13964:
#0: ffff888099734a10 (&sb->s_type->i_mutex_key#11){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:787 [inline]
#0: ffff888099734a10 (&sb->s_type->i_mutex_key#11){+.+.}-{3:3}, at: __sock_release net/socket.c:648 [inline]
#0: ffff888099734a10 (&sb->s_type->i_mutex_key#11){+.+.}-{3:3}, at: sock_close+0x98/0x230 net/socket.c:1336
#1: ffffffff8d9da688 (rtnl_mutex){+.+.}-{3:3}, at: ip6mr_sk_done+0xa0/0x2a0 net/ipv6/ip6mr.c:1584
2 locks held by syz-executor.0/13965:
#0: ffffffff8d9da688 (rtnl_mutex){+.+.}-{3:3}, at: rtnl_lock net/core/rtnetlink.c:72 [inline]
#0: ffffffff8d9da688 (rtnl_mutex){+.+.}-{3:3}, at: rtnetlink_rcv_msg+0x94c/0xee0 net/core/rtnetlink.c:5627
#1: ffffffff8c9237e8 (rcu_state.exp_mutex){+.+.}-{3:3}, at: exp_funnel_lock kernel/rcu/tree_exp.h:290 [inline]
#1: ffffffff8c9237e8 (rcu_state.exp_mutex){+.+.}-{3:3}, at: synchronize_rcu_expedited+0x280/0x740 kernel/rcu/tree_exp.h:845
2 locks held by syz-executor.3/14023:
1 lock held by syz-executor.4/14022:

=============================================

NMI backtrace for cpu 1
CPU: 1 PID: 27 Comm: khungtaskd Not tainted 5.15.148-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106
nmi_cpu_backtrace+0x46a/0x4a0 lib/nmi_backtrace.c:111
nmi_trigger_cpumask_backtrace+0x181/0x2a0 lib/nmi_backtrace.c:62
trigger_all_cpu_backtrace include/linux/nmi.h:148 [inline]
check_hung_uninterruptible_tasks kernel/hung_task.c:210 [inline]
watchdog+0xe72/0xeb0 kernel/hung_task.c:295
kthread+0x3f6/0x4f0 kernel/kthread.c:319
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298
</TASK>
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 14035 Comm: syz-executor.4 Not tainted 5.15.148-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024
RIP: 0010:check_kcov_mode kernel/kcov.c:174 [inline]
RIP: 0010:write_comp_data kernel/kcov.c:218 [inline]
RIP: 0010:__sanitizer_cov_trace_const_cmp8+0x30/0x80 kernel/kcov.c:291
Code: 8b 0d 14 3e 82 7e 65 8b 05 15 3e 82 7e a9 00 01 ff 00 74 10 a9 00 01 00 00 74 57 83 b9 34 16 00 00 00 74 4e 8b 81 10 16 00 00 <83> f8 03 75 43 48 8b 91 18 16 00 00 44 8b 89 14 16 00 00 49 c1 e1
RSP: 0000:ffffc90005eafba8 EFLAGS: 00000246
RAX: 0000000000000000 RBX: 0000000001100dca RCX: ffff88807c0ed940
RDX: 0000000000000002 RSI: 0000000000000001 RDI: 0000000000000000
RBP: 0000000000000001 R08: ffffffff81c6edd7 R09: ffffffff81c6ed26
R10: 0000000000000002 R11: ffff88807c0ed940 R12: ffffffff91420900
R13: 00007fe30e693000 R14: 0000000000000000 R15: 0000000000000000
FS: 00007fe316ab36c0(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fe30e693000 CR3: 0000000094ed8000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<NMI>
</NMI>
<TASK>
find_first_bit include/asm-generic/bitops/find.h:115 [inline]
__first_node include/linux/nodemask.h:265 [inline]
policy_node mm/mempolicy.c:1789 [inline]
alloc_pages_vma+0x2b7/0x800 mm/mempolicy.c:2145
do_anonymous_page mm/memory.c:3808 [inline]
handle_pte_fault mm/memory.c:4619 [inline]
__handle_mm_fault mm/memory.c:4756 [inline]
handle_mm_fault+0x2f49/0x5950 mm/memory.c:4854
do_user_addr_fault arch/x86/mm/fault.c:1397 [inline]
handle_page_fault arch/x86/mm/fault.c:1485 [inline]
exc_page_fault+0x271/0x740 arch/x86/mm/fault.c:1541
asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:568
RIP: 0033:0x7fe3184de793
Code: 1f 84 00 00 00 00 00 3d 00 01 00 00 75 29 45 31 f6 48 83 c4 18 44 89 f0 5b 5d 41 5c 41 5d 41 5e 41 5f c3 0f 1f 40 00 49 8b 0f <44> 88 34 01 49 83 47 10 01 eb 92 66 90 8d 90 ff fe ff ff 83 fa 1c
RSP: 002b:00007fe316ab2530 EFLAGS: 00010206
RAX: 0000000000000000 RBX: 00007fe316ab25d0 RCX: 00007fe30e693000
RDX: 00007fe316ab2770 RSI: 0000000000000005 RDI: 00007fe316ab2670
RBP: 000000000000013c R08: 000000000000000a R09: 0000000000000398
R10: 00000000000003aa R11: 00007fe316ab25d0 R12: 00007fe316ab25d0
R13: 00007fe3185a1cc0 R14: 00000000000000eb R15: 00007fe316ab2670
</TASK>


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

syzbot

unread,
Feb 22, 2024, 11:23:23 AMFeb 22
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 6139f2a02fe0 Linux 5.15.148
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=12518808180000
kernel config: https://syzkaller.appspot.com/x/.config?x=c170eb20d8be8542
dashboard link: https://syzkaller.appspot.com/bug?extid=4cc251673c16be47e2b1
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=1248232c180000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=12771d44180000
mounted in repro: https://storage.googleapis.com/syzbot-assets/8196de027283/mount_0.gz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+4cc251...@syzkaller.appspotmail.com

INFO: task syz-executor362:3556 blocked for more than 143 seconds.
Not tainted 5.15.148-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor362 state:D stack:23632 pid: 3556 ppid: 3546 flags:0x00004006
RIP: 0033:0x7efd87229d49
RSP: 002b:00007efd871e6218 EFLAGS: 00000246 ORIG_RAX: 0000000000000028
RAX: ffffffffffffffda RBX: 00007efd872d0708 RCX: 00007efd87229d49
RDX: 0000000000000000 RSI: 0000000000000005 RDI: 0000000000000004
RBP: 00007efd872d0700 R08: 0000000000000000 R09: 0000000000000000
R10: 0001000000201005 R11: 0000000000000246 R12: 00007efd872d070c
R13: 00007efd8729d4dc R14: 00007efd8727e0c0 R15: 0031656c69662f2e
</TASK>
INFO: task syz-executor362:3566 blocked for more than 143 seconds.
Not tainted 5.15.148-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor362 state:D stack:25400 pid: 3566 ppid: 3546 flags:0x00004006
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5030 [inline]
__schedule+0x12c4/0x45b0 kernel/sched/core.c:6376
schedule+0x11b/0x1f0 kernel/sched/core.c:6459
schedule_preempt_disabled+0xf/0x20 kernel/sched/core.c:6518
__mutex_lock_common+0xe34/0x25a0 kernel/locking/mutex.c:669
__mutex_lock kernel/locking/mutex.c:729 [inline]
mutex_lock_nested+0x17/0x20 kernel/locking/mutex.c:743
ni_lock fs/ntfs3/ntfs_fs.h:1110 [inline]
ntfs_readpage+0x18f/0x210 fs/ntfs3/inode.c:724
filemap_read_page+0x166/0x4b0 mm/filemap.c:2386
filemap_update_page mm/filemap.c:2464 [inline]
filemap_get_pages mm/filemap.c:2574 [inline]
filemap_read+0x15dc/0x2980 mm/filemap.c:2634
call_read_iter include/linux/fs.h:2140 [inline]
generic_file_splice_read+0x4ad/0x790 fs/splice.c:311
do_splice_to fs/splice.c:796 [inline]
splice_direct_to_actor+0x448/0xc10 fs/splice.c:870
do_splice_direct+0x285/0x3d0 fs/splice.c:979
do_sendfile+0x625/0xff0 fs/read_write.c:1249
__do_sys_sendfile64 fs/read_write.c:1317 [inline]
__se_sys_sendfile64+0x178/0x1e0 fs/read_write.c:1303
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x61/0xcb
RIP: 0033:0x7efd87229d49
RSP: 002b:00007efd871c5218 EFLAGS: 00000246 ORIG_RAX: 0000000000000028
RAX: ffffffffffffffda RBX: 00007efd872d0718 RCX: 00007efd87229d49
RDX: 0000000000000000 RSI: 0000000000000007 RDI: 0000000000000006
RBP: 00007efd872d0710 R08: 0000000000000000 R09: 0000000000000000
R10: 0001000000201005 R11: 0000000000000246 R12: 00007efd872d071c
R13: 00007efd8729d4dc R14: 00007efd8727e0c0 R15: 0031656c69662f2e
</TASK>

Showing all locks held in the system:
1 lock held by khungtaskd/27:
#0: ffffffff8c91f220 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x0/0x30
2 locks held by getty/3259:
#0: ffff88802423a098 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x21/0x70 drivers/tty/tty_ldisc.c:252
#1: ffffc9000249b2e8 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x6af/0x1db0 drivers/tty/n_tty.c:2158
2 locks held by syz-executor362/3543:
#0: ffff88801ae07118 (&disk->open_mutex){+.+.}-{3:3}, at: blkdev_put+0xfb/0x790 block/bdev.c:912
#1: ffff8881476e2468 (&lo->lo_mutex){+.+.}-{3:3}, at: __loop_clr_fd+0xa9/0xbe0 drivers/block/loop.c:1365
2 locks held by syz-executor362/3544:
#0: ffff88801ae0b918 (&disk->open_mutex){+.+.}-{3:3}, at: blkdev_put+0xfb/0x790 block/bdev.c:912
#1: ffff8881476e5468 (&lo->lo_mutex){+.+.}-{3:3}, at: __loop_clr_fd+0xa9/0xbe0 drivers/block/loop.c:1365
2 locks held by syz-executor362/3545:
#0: ffff88801ae20118 (&disk->open_mutex){+.+.}-{3:3}, at: blkdev_put+0xfb/0x790 block/bdev.c:912
#1: ffff88801ae18468 (&lo->lo_mutex){+.+.}-{3:3}, at: __loop_clr_fd+0xa9/0xbe0 drivers/block/loop.c:1365
3 locks held by syz-executor362/3556:
#0: ffff888078486460 (sb_writers#9){.+.+}-{0:0}, at: do_sendfile+0x600/0xff0 fs/read_write.c:1248
#1: ffff888070c54f00 (mapping.invalidate_lock#3){.+.+}-{3:3}, at: filemap_invalidate_lock_shared include/linux/fs.h:842 [inline]
#1: ffff888070c54f00 (mapping.invalidate_lock#3){.+.+}-{3:3}, at: filemap_update_page mm/filemap.c:2435 [inline]
#1: ffff888070c54f00 (mapping.invalidate_lock#3){.+.+}-{3:3}, at: filemap_get_pages mm/filemap.c:2574 [inline]
#1: ffff888070c54f00 (mapping.invalidate_lock#3){.+.+}-{3:3}, at: filemap_read+0xaef/0x2980 mm/filemap.c:2634
#2: ffff888070c54ac0 (&ni->ni_lock/4){+.+.}-{3:3}, at: ni_lock fs/ntfs3/ntfs_fs.h:1110 [inline]
#2: ffff888070c54ac0 (&ni->ni_lock/4){+.+.}-{3:3}, at: ntfs_readpage+0x18f/0x210 fs/ntfs3/inode.c:724
3 locks held by syz-executor362/3566:
#0: ffff888078486460 (sb_writers#9){.+.+}-{0:0}, at: do_sendfile+0x600/0xff0 fs/read_write.c:1248
#1: ffff888070c54f00 (mapping.invalidate_lock#3){.+.+}-{3:3}, at: filemap_invalidate_lock_shared include/linux/fs.h:842 [inline]
#1: ffff888070c54f00 (mapping.invalidate_lock#3){.+.+}-{3:3}, at: filemap_update_page mm/filemap.c:2435 [inline]
#1: ffff888070c54f00 (mapping.invalidate_lock#3){.+.+}-{3:3}, at: filemap_get_pages mm/filemap.c:2574 [inline]
#1: ffff888070c54f00 (mapping.invalidate_lock#3){.+.+}-{3:3}, at: filemap_read+0xaef/0x2980 mm/filemap.c:2634
#2: ffff888070c54ac0 (&ni->ni_lock/4){+.+.}-{3:3}, at: ni_lock fs/ntfs3/ntfs_fs.h:1110 [inline]
#2: ffff888070c54ac0 (&ni->ni_lock/4){+.+.}-{3:3}, at: ntfs_readpage+0x18f/0x210 fs/ntfs3/inode.c:724
3 locks held by syz-executor362/6361:
#0: ffff88807a3c0460 (sb_writers#9){.+.+}-{0:0}, at: do_sendfile+0x600/0xff0 fs/read_write.c:1248
#1: ffff888070f0c040 (mapping.invalidate_lock#3){.+.+}-{3:3}, at: filemap_invalidate_lock_shared include/linux/fs.h:842 [inline]
#1: ffff888070f0c040 (mapping.invalidate_lock#3){.+.+}-{3:3}, at: filemap_update_page mm/filemap.c:2435 [inline]
#1: ffff888070f0c040 (mapping.invalidate_lock#3){.+.+}-{3:3}, at: filemap_get_pages mm/filemap.c:2574 [inline]
#1: ffff888070f0c040 (mapping.invalidate_lock#3){.+.+}-{3:3}, at: filemap_read+0xaef/0x2980 mm/filemap.c:2634
#2: ffff888070f0bc00 (&ni->ni_lock/4){+.+.}-{3:3}, at: ni_lock fs/ntfs3/ntfs_fs.h:1110 [inline]
#2: ffff888070f0bc00 (&ni->ni_lock/4){+.+.}-{3:3}, at: ntfs_readpage+0x18f/0x210 fs/ntfs3/inode.c:724
3 locks held by syz-executor362/6368:
#0: ffff88807a3c0460 (sb_writers#9){.+.+}-{0:0}, at: do_sendfile+0x600/0xff0 fs/read_write.c:1248
#1: ffff888070f0c040 (mapping.invalidate_lock#3){.+.+}-{3:3}, at: filemap_invalidate_lock_shared include/linux/fs.h:842 [inline]
#1: ffff888070f0c040 (mapping.invalidate_lock#3){.+.+}-{3:3}, at: filemap_create_page mm/filemap.c:2498 [inline]
#1: ffff888070f0c040 (mapping.invalidate_lock#3){.+.+}-{3:3}, at: filemap_get_pages mm/filemap.c:2558 [inline]
#1: ffff888070f0c040 (mapping.invalidate_lock#3){.+.+}-{3:3}, at: filemap_read+0xd75/0x2980 mm/filemap.c:2634
#2: ffff888070f0bc00 (&ni->ni_lock/4){+.+.}-{3:3}, at: ni_lock fs/ntfs3/ntfs_fs.h:1110 [inline]
#2: ffff888070f0bc00 (&ni->ni_lock/4){+.+.}-{3:3}, at: ntfs_readpage+0x18f/0x210 fs/ntfs3/inode.c:724

=============================================

NMI backtrace for cpu 1
CPU: 1 PID: 27 Comm: khungtaskd Not tainted 5.15.148-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106
nmi_cpu_backtrace+0x46a/0x4a0 lib/nmi_backtrace.c:111
nmi_trigger_cpumask_backtrace+0x181/0x2a0 lib/nmi_backtrace.c:62
trigger_all_cpu_backtrace include/linux/nmi.h:148 [inline]
check_hung_uninterruptible_tasks kernel/hung_task.c:210 [inline]
watchdog+0xe72/0xeb0 kernel/hung_task.c:295
kthread+0x3f6/0x4f0 kernel/kthread.c:319
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298
</TASK>
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0 skipped: idling at native_safe_halt arch/x86/include/asm/irqflags.h:51 [inline]
NMI backtrace for cpu 0 skipped: idling at arch_safe_halt arch/x86/include/asm/irqflags.h:89 [inline]
NMI backtrace for cpu 0 skipped: idling at acpi_safe_halt drivers/acpi/processor_idle.c:109 [inline]
NMI backtrace for cpu 0 skipped: idling at acpi_idle_do_entry+0x10f/0x340 drivers/acpi/processor_idle.c:570


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

syzbot

unread,
Mar 24, 2024, 4:49:04 PMMar 24
to syzkaller...@googlegroups.com
syzbot suspects this issue could be fixed by backporting the following commit:

commit bfbe5b31caa74ab97f1784fe9ade5f45e0d3de91
git tree: upstream
Author: Konstantin Komarov <almaz.ale...@paragon-software.com>
Date: Fri Jun 30 12:22:53 2023 +0000

fs/ntfs3: fix deadlock in mark_as_free_ex

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=10d28781180000
Please keep in mind that other backports might be required as well.

For information about bisection process see: https://goo.gl/tpsmEJ#bisection

syzbot

unread,
Mar 24, 2024, 9:45:05 PMMar 24
to syzkaller...@googlegroups.com
The commit that was suspected to fix the issue was backported to the fuzzed
kernel trees.

commit efe43d1bcbcb9fe48e541dd6e2b9bef8d85261e6
Author: <almaz.ale...@paragon-software.com>
Date: Fri Jun 30 12:22:53 2023 +0000

fs/ntfs3: fix deadlock in mark_as_free_ex

If you believe this is correct, please reply with
#syz fix: fs/ntfs3: fix deadlock in mark_as_free_ex

The commit was initially detected here:

commit bfbe5b31caa74ab97f1784fe9ade5f45e0d3de91
git tree: upstream
Author: Konstantin Komarov <almaz.ale...@paragon-software.com>
Date: Fri Jun 30 12:22:53 2023 +0000

fs/ntfs3: fix deadlock in mark_as_free_ex

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=10d28781180000
Reply all
Reply to author
Forward
0 new messages