syzbot


INFO: task hung in page_cache_ra_order

Status: upstream: reported C repro on 2025/04/22 19:17
Subsystems: fs mm
[Documentation on labels]
Reported-by: syzbot+f719dec20853d1563edc@syzkaller.appspotmail.com
First crash: 29d, last: 1d18h
Cause bisection: introduced by (bisect log) :
commit 3e25d5a49f99b75be2c6cfb165e4f77dc6d739a2
Author: Christoph Hellwig <hch@lst.de>
Date: Wed Oct 23 05:36:37 2024 +0000

  asm-generic: add an optional pfn_valid check to page_to_phys

Crash: INFO: task hung in page_cache_ra_unbounded (log)
Repro: C syz .config
  
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [fs?] [mm?] INFO: task hung in page_cache_ra_order 1 (2) 2025/04/23 05:40

Sample crash report:
INFO: task syz-executor173:5848 blocked for more than 143 seconds.
      Not tainted 6.15.0-rc2-syzkaller-00404-g8560697b23dc #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor173 state:D stack:22744 pid:5848  tgid:5847  ppid:5846   task_flags:0x440040 flags:0x00004006
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5382 [inline]
 __schedule+0x1b33/0x51f0 kernel/sched/core.c:6767
 __schedule_loop kernel/sched/core.c:6845 [inline]
 schedule+0x163/0x360 kernel/sched/core.c:6860
 schedule_preempt_disabled+0x13/0x30 kernel/sched/core.c:6917
 rwsem_down_read_slowpath kernel/locking/rwsem.c:1084 [inline]
 __down_read_common kernel/locking/rwsem.c:1248 [inline]
 __down_read kernel/locking/rwsem.c:1261 [inline]
 down_read+0x6ff/0xa50 kernel/locking/rwsem.c:1526
 filemap_invalidate_lock_shared include/linux/fs.h:922 [inline]
 page_cache_ra_order+0x45e/0xca0 mm/readahead.c:491
 filemap_readahead mm/filemap.c:2560 [inline]
 filemap_get_pages+0x9ec/0x1fc0 mm/filemap.c:2605
 filemap_splice_read+0x690/0xef0 mm/filemap.c:2981
 do_splice_read fs/splice.c:979 [inline]
 splice_direct_to_actor+0x4af/0xc90 fs/splice.c:1083
 do_splice_direct_actor fs/splice.c:1201 [inline]
 do_splice_direct+0x281/0x3d0 fs/splice.c:1227
 do_sendfile+0x582/0x8c0 fs/read_write.c:1368
 __do_sys_sendfile64 fs/read_write.c:1429 [inline]
 __se_sys_sendfile64+0x17e/0x1e0 fs/read_write.c:1415
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xf3/0x210 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f6ab89af369
RSP: 002b:00007f6ab8968228 EFLAGS: 00000246 ORIG_RAX: 0000000000000028
RAX: ffffffffffffffda RBX: 00007f6ab8a39328 RCX: 00007f6ab89af369
RDX: 0000000000000000 RSI: 0000000000000003 RDI: 0000000000000003
RBP: 00007f6ab8a39320 R08: 00007f6ab89686c0 R09: 00007f6ab89686c0
R10: 000400000000003f R11: 0000000000000246 R12: 00007f6ab8a3932c
R13: 0000200000001000 R14: 6c756e2f7665642f R15: 00007ffd51b68748
 </TASK>

Showing all locks held in the system:
1 lock held by khungtaskd/31:
 #0: ffffffff8ed3df20 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline]
 #0: ffffffff8ed3df20 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:841 [inline]
 #0: ffffffff8ed3df20 (rcu_read_lock){....}-{1:3}, at: debug_show_all_locks+0x30/0x180 kernel/locking/lockdep.c:6764
5 locks held by klogd/5189:
2 locks held by getty/5593:
 #0: ffff888035d020a0 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x25/0x70 drivers/tty/tty_ldisc.c:243
 #1: ffffc9000334b2f0 (&ldata->atomic_read_lock){+.+.}-{4:4}, at: n_tty_read+0x5bb/0x1700 drivers/tty/n_tty.c:2222
1 lock held by syz-executor173/5848:
 #0: ffff888023bd6540 (mapping.invalidate_lock#2){++++}-{4:4}, at: filemap_invalidate_lock_shared include/linux/fs.h:922 [inline]
 #0: ffff888023bd6540 (mapping.invalidate_lock#2){++++}-{4:4}, at: page_cache_ra_order+0x45e/0xca0 mm/readahead.c:491
1 lock held by syz-executor173/5849:

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

NMI backtrace for cpu 1
CPU: 1 UID: 0 PID: 31 Comm: khungtaskd Not tainted 6.15.0-rc2-syzkaller-00404-g8560697b23dc #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120
 nmi_cpu_backtrace+0x4ab/0x4e0 lib/nmi_backtrace.c:113
 nmi_trigger_cpumask_backtrace+0x198/0x320 lib/nmi_backtrace.c:62
 trigger_all_cpu_backtrace include/linux/nmi.h:158 [inline]
 check_hung_uninterruptible_tasks kernel/hung_task.c:274 [inline]
 watchdog+0x1058/0x10a0 kernel/hung_task.c:437
 kthread+0x7b7/0x940 kernel/kthread.c:464
 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:153
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
 </TASK>
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 UID: 0 PID: 5182 Comm: syslogd Not tainted 6.15.0-rc2-syzkaller-00404-g8560697b23dc #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
RIP: 0010:hlock_class kernel/locking/lockdep.c:233 [inline]
RIP: 0010:check_wait_context kernel/locking/lockdep.c:4880 [inline]
RIP: 0010:__lock_acquire+0x500/0xd80 kernel/locking/lockdep.c:5185
Code: 41 ff c7 41 89 c6 48 39 cb 0f 8d bc 00 00 00 41 83 ff 31 0f 83 95 00 00 00 41 8b 04 24 25 ff 1f 00 00 48 0f a3 05 60 28 ce 12 <73> 10 48 69 c0 c8 00 00 00 48 8d 88 c0 96 0d 94 eb 42 83 3d 77 b7
RSP: 0018:ffffc90000007648 EFLAGS: 00000003
RAX: 00000000000000d9 RBX: 0000000000000000 RCX: 00000000000000de
RDX: 0000000000000003 RSI: ffff888067d1a8f0 RDI: 0000000000000000
RBP: 00000000ffffffff R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffff888067d1a910
R13: ffff888067d19e00 R14: ffff888067d1a903 R15: 0000000000000000
FS:  00007f430d2a3380(0000) GS:ffff888124fcf000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055ea6118d600 CR3: 00000000683f0000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 lock_acquire+0x116/0x2f0 kernel/locking/lockdep.c:5866
 rcu_lock_acquire include/linux/rcupdate.h:331 [inline]
 rcu_read_lock include/linux/rcupdate.h:841 [inline]
 class_rcu_constructor include/linux/rcupdate.h:1155 [inline]
 unwind_next_frame+0xd5/0x23b0 arch/x86/kernel/unwind_orc.c:479
 arch_stack_walk+0x11e/0x150 arch/x86/kernel/stacktrace.c:25
 stack_trace_save+0x11a/0x1d0 kernel/stacktrace.c:122
 save_stack+0xfc/0x1f0 mm/page_owner.c:156
 __reset_page_owner+0x76/0x1e0 mm/page_owner.c:308
 reset_page_owner include/linux/page_owner.h:25 [inline]
 free_pages_prepare mm/page_alloc.c:1262 [inline]
 __free_frozen_pages+0xddf/0x10a0 mm/page_alloc.c:2725
 rcu_do_batch kernel/rcu/tree.c:2568 [inline]
 rcu_core+0xaac/0x17a0 kernel/rcu/tree.c:2824
 handle_softirqs+0x2d6/0x9b0 kernel/softirq.c:579
 __do_softirq kernel/softirq.c:613 [inline]
 invoke_softirq kernel/softirq.c:453 [inline]
 __irq_exit_rcu+0xfb/0x220 kernel/softirq.c:680
 irq_exit_rcu+0x9/0x30 kernel/softirq.c:696
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
 sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1049
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
RIP: 0010:bytes_is_nonzero mm/kasan/generic.c:87 [inline]
RIP: 0010:memory_is_nonzero mm/kasan/generic.c:104 [inline]
RIP: 0010:memory_is_poisoned_n mm/kasan/generic.c:129 [inline]
RIP: 0010:memory_is_poisoned mm/kasan/generic.c:161 [inline]
RIP: 0010:check_region_inline mm/kasan/generic.c:180 [inline]
RIP: 0010:kasan_check_range+0x86/0x2a0 mm/kasan/generic.c:189
Code: 00 fc ff df 4f 8d 3c 31 4c 89 fd 4c 29 dd 48 83 fd 10 7f 29 48 85 ed 0f 84 3e 01 00 00 4c 89 cd 48 f7 d5 48 01 dd 41 80 3b 00 <0f> 85 d6 01 00 00 49 ff c3 48 ff c5 75 ee e9 1e 01 00 00 45 89 dc
RSP: 0018:ffffc9000fabf730 EFLAGS: 00000246
RAX: ffffffff8c2a5201 RBX: 1ffff92001f57ef4 RCX: ffffffff8c2a5247
RDX: 0000000000000001 RSI: 0000000000000050 RDI: ffffc9000fabf7a0
RBP: fffffffffffffffb R08: ffffc9000fabf7ef R09: 1ffff92001f57efd
R10: dffffc0000000000 R11: fffff52001f57ef9 R12: 1ffff92001f57ef0
R13: dffffc0000000000 R14: dffffc0000000001 R15: fffff52001f57efe
 __asan_memset+0x23/0x50 mm/kasan/shadow.c:84
 schedule_timeout+0x97/0x2b0 kernel/time/sleep_timeout.c:63
 __skb_wait_for_more_packets+0x39b/0x600 net/core/datagram.c:121
 __unix_dgram_recvmsg+0x356/0x12e0 net/unix/af_unix.c:2433
 sock_recvmsg_nosec net/socket.c:1017 [inline]
 sock_recvmsg+0x22f/0x280 net/socket.c:1039
 sock_read_iter+0x2c6/0x3e0 net/socket.c:1109
 new_sync_read fs/read_write.c:489 [inline]
 vfs_read+0x9a0/0xb90 fs/read_write.c:570
 ksys_read+0x19d/0x2d0 fs/read_write.c:713
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xf3/0x210 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f430d3f7b6a
Code: 00 3d 00 00 41 00 75 0d 50 48 8d 3d 2d 08 0a 00 e8 ea 7d 01 00 31 c0 e9 07 ff ff ff 64 8b 04 25 18 00 00 00 85 c0 75 1b 0f 05 <48> 3d 00 f0 ff ff 76 6c 48 8b 15 8f a2 0d 00 f7 d8 64 89 02 48 83
RSP: 002b:00007ffdeae0f4d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000000
RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f430d3f7b6a
RDX: 00000000000000ff RSI: 0000562d4594f950 RDI: 0000000000000000
RBP: 0000562d4594f910 R08: 0000000000000001 R09: 0000000000000000
R10: 00007f430d5963a3 R11: 0000000000000246 R12: 0000562d4594f99f
R13: 0000562d4594f950 R14: 0000000000000000 R15: 00007f430d5dca80
 </TASK>
INFO: NMI handler (nmi_cpu_backtrace_handler) took too long to run: 2.150 msecs

Crashes (11):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/04/19 22:27 upstream 8560697b23dc 2a20f901 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci2-upstream-fs INFO: task hung in page_cache_ra_order
2025/04/18 19:10 upstream fc96b232f8e7 2a20f901 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce INFO: task hung in page_cache_ra_order
2025/04/22 02:40 upstream 9d7a0577c9db 2a20f901 .config console log report syz / log [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce INFO: task hung in page_cache_ra_order
2025/04/21 05:11 upstream 6fea5fabd332 2a20f901 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce INFO: task hung in page_cache_ra_order
2025/04/19 20:31 upstream 8560697b23dc 2a20f901 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs INFO: task hung in page_cache_ra_order
2025/04/18 17:27 upstream fc96b232f8e7 2a20f901 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce INFO: task hung in page_cache_ra_order
2025/04/02 00:04 upstream 08733088b566 d863cf4b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root INFO: task hung in page_cache_ra_order
2025/04/01 06:45 upstream 609706855d90 36d76a97 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce INFO: task hung in page_cache_ra_order
2025/03/31 11:14 upstream aa918db707fb d3999433 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root INFO: task hung in page_cache_ra_order
2025/03/26 10:04 upstream 2df0c02dab82 89d30d73 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce INFO: task hung in page_cache_ra_order
2025/03/25 12:39 upstream 2f2d52945852 875573af .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs INFO: task hung in page_cache_ra_order
* Struck through repros no longer work on HEAD.