syzbot


INFO: task hung in btrfs_page_mkwrite (3)

Status: upstream: reported on 2024/12/09 07:52
Reported-by: syzbot+94a9058d82b8938c2222@syzkaller.appspotmail.com
First crash: 12d, last: 12d
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-6.1 INFO: task hung in btrfs_page_mkwrite 8 139d 219d 0/3 auto-obsoleted due to no activity on 2024/11/11 21:53
upstream INFO: task hung in btrfs_page_mkwrite btrfs 49 306d 444d 0/28 auto-obsoleted due to no activity on 2024/05/29 11:09
linux-5.15 INFO: task hung in btrfs_page_mkwrite (2) 4 168d 219d 0/3 auto-obsoleted due to no activity on 2024/10/14 01:09
linux-5.15 INFO: task hung in btrfs_page_mkwrite 1 552d 552d 0/3 auto-obsoleted due to no activity on 2023/09/26 02:15

Sample crash report:
INFO: task syz.4.76:4820 blocked for more than 143 seconds.
      Not tainted 5.15.173-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz.4.76        state:D stack:25488 pid: 4820 ppid:  4178 flags:0x00004004
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5027 [inline]
 __schedule+0x12c4/0x45b0 kernel/sched/core.c:6373
 schedule+0x11b/0x1f0 kernel/sched/core.c:6456
 io_schedule+0x88/0x100 kernel/sched/core.c:8481
 wait_on_page_bit_common+0xa13/0x1180 mm/filemap.c:1356
 lock_page include/linux/pagemap.h:625 [inline]
 btrfs_page_mkwrite+0x537/0xd60 fs/btrfs/inode.c:8951
 do_page_mkwrite+0x1a9/0x440 mm/memory.c:2920
 wp_page_shared+0x179/0x690 mm/memory.c:3257
 handle_pte_fault mm/memory.c:4666 [inline]
 __handle_mm_fault mm/memory.c:4783 [inline]
 handle_mm_fault+0x2a3d/0x5960 mm/memory.c:4881
 do_user_addr_fault arch/x86/mm/fault.c:1357 [inline]
 handle_page_fault arch/x86/mm/fault.c:1445 [inline]
 exc_page_fault+0x271/0x700 arch/x86/mm/fault.c:1501
 asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:606
RIP: 0033:0x7f612532db59
RSP: 002b:00007ffe81272590 EFLAGS: 00010246
RAX: 0000000000000040 RBX: 0000000000000002 RCX: ffffffffe0000000
RDX: 4f23960cd9b643ab RSI: 0000000000000000 RDI: 000055557e44b3c8
RBP: 00007f6125622ba0 R08: 00007f61252db000 R09: 0000000000000003
R10: 0000000000000001 R11: 0000000000000004 R12: 0000000000015d59
R13: 00007f6125621080 R14: 0000000000000032 R15: fffffffffffffffe
 </TASK>
INFO: task syz.4.76:4821 blocked for more than 143 seconds.
      Not tainted 5.15.173-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz.4.76        state:D stack:23264 pid: 4821 ppid:  4178 flags:0x00004004
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5027 [inline]
 __schedule+0x12c4/0x45b0 kernel/sched/core.c:6373
 schedule+0x11b/0x1f0 kernel/sched/core.c:6456
 wait_on_state fs/btrfs/extent_io.c:868 [inline]
 wait_extent_bit+0x3f9/0x530 fs/btrfs/extent_io.c:906
 lock_extent_bits+0x10d/0x1e0 fs/btrfs/extent_io.c:1469
 btrfs_page_mkwrite+0x5f2/0xd60 fs/btrfs/inode.c:8961
 do_page_mkwrite+0x1a9/0x440 mm/memory.c:2920
 wp_page_shared+0x179/0x690 mm/memory.c:3257
 handle_pte_fault mm/memory.c:4666 [inline]
 __handle_mm_fault mm/memory.c:4783 [inline]
 handle_mm_fault+0x2a3d/0x5960 mm/memory.c:4881
 do_user_addr_fault arch/x86/mm/fault.c:1357 [inline]
 handle_page_fault arch/x86/mm/fault.c:1445 [inline]
 exc_page_fault+0x271/0x700 arch/x86/mm/fault.c:1501
 asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:606
RIP: 0010:copy_user_generic_unrolled+0x89/0xc0 arch/x86/lib/copy_user_64.S:92
Code: 38 4c 89 47 20 4c 89 4f 28 4c 89 57 30 4c 89 5f 38 48 8d 76 40 48 8d 7f 40 ff c9 75 b6 89 d1 83 e2 07 c1 e9 03 74 12 4c 8b 06 <4c> 89 07 48 8d 76 08 48 8d 7f 08 ff c9 75 ee 21 d2 74 10 89 d1 8a
RSP: 0018:ffffc9000133f668 EFLAGS: 00050202
RAX: ffffffff8413a001 RBX: 00000000200003d8 RCX: 0000000000000007
RDX: 0000000000000000 RSI: ffffc9000133f720 RDI: 00000000200003a0
RBP: ffffc9000133f7d0 R08: 0000000000000000 R09: fffff52000267eeb
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000000000038
R13: 00007ffffffff000 R14: ffffc9000133f720 R15: 00000000200003a0
 copy_user_generic arch/x86/include/asm/uaccess_64.h:37 [inline]
 raw_copy_to_user arch/x86/include/asm/uaccess_64.h:58 [inline]
 _copy_to_user+0xef/0x130 lib/usercopy.c:40
 copy_to_user include/linux/uaccess.h:200 [inline]
 fiemap_fill_next_extent+0x231/0x410 fs/ioctl.c:144
 emit_fiemap_extent fs/btrfs/extent_io.c:5461 [inline]
 extent_fiemap+0x1218/0x1650 fs/btrfs/extent_io.c:5687
 btrfs_fiemap+0x121/0x160 fs/btrfs/inode.c:8584
 ioctl_fiemap fs/ioctl.c:219 [inline]
 do_vfs_ioctl+0x1934/0x2b70 fs/ioctl.c:814
 __do_sys_ioctl fs/ioctl.c:872 [inline]
 __se_sys_ioctl+0x81/0x160 fs/ioctl.c:860
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3b/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7f612545aed9
RSP: 002b:00007f61232d1058 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f6125620fa0 RCX: 00007f612545aed9
RDX: 0000000020000380 RSI: 00000000c020660b RDI: 0000000000000004
RBP: 00007f61254cecc8 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007f6125620fa0 R15: 00007ffe81272428
 </TASK>

Showing all locks held in the system:
1 lock held by khungtaskd/27:
 #0: ffffffff8cb1fc60 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x0/0x30
1 lock held by klogd/3535:
 #0: ffff8880b8f3a318 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested+0x26/0x140 kernel/sched/core.c:475
2 locks held by getty/3922:
 #0: ffff88814ce0c098 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x21/0x70 drivers/tty/tty_ldisc.c:252
 #1: ffffc90002cd62e8 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x6af/0x1db0 drivers/tty/n_tty.c:2158
1 lock held by udevd/4389:
 #0: ffff8880205de118 (&disk->open_mutex){+.+.}-{3:3}, at: blkdev_get_by_dev+0x14d/0xa50 block/bdev.c:817
3 locks held by syz.4.76/4820:
 #0: ffff88807510e328 (&mm->mmap_lock){++++}-{3:3}, at: mmap_read_trylock include/linux/mmap_lock.h:136 [inline]
 #0: ffff88807510e328 (&mm->mmap_lock){++++}-{3:3}, at: do_user_addr_fault arch/x86/mm/fault.c:1298 [inline]
 #0: ffff88807510e328 (&mm->mmap_lock){++++}-{3:3}, at: handle_page_fault arch/x86/mm/fault.c:1445 [inline]
 #0: ffff88807510e328 (&mm->mmap_lock){++++}-{3:3}, at: exc_page_fault+0x181/0x700 arch/x86/mm/fault.c:1501
 #1: ffff88805fd54558 (sb_pagefaults#3){.+.+}-{0:0}, at: do_page_mkwrite+0x1a9/0x440 mm/memory.c:2920
 #2: ffff888060b42208 (&ei->i_mmap_lock){++++}-{3:3}, at: btrfs_page_mkwrite+0x4a2/0xd60 fs/btrfs/inode.c:8950
3 locks held by syz.4.76/4821:
 #0: ffff88807510e328 (&mm->mmap_lock){++++}-{3:3}, at: mmap_read_trylock include/linux/mmap_lock.h:136 [inline]
 #0: ffff88807510e328 (&mm->mmap_lock){++++}-{3:3}, at: do_user_addr_fault arch/x86/mm/fault.c:1298 [inline]
 #0: ffff88807510e328 (&mm->mmap_lock){++++}-{3:3}, at: handle_page_fault arch/x86/mm/fault.c:1445 [inline]
 #0: ffff88807510e328 (&mm->mmap_lock){++++}-{3:3}, at: exc_page_fault+0x181/0x700 arch/x86/mm/fault.c:1501
 #1: ffff88805fd54558 (sb_pagefaults#3){.+.+}-{0:0}, at: do_page_mkwrite+0x1a9/0x440 mm/memory.c:2920
 #2: ffff888060b42208 (&ei->i_mmap_lock){++++}-{3:3}, at: btrfs_page_mkwrite+0x4a2/0xd60 fs/btrfs/inode.c:8950
3 locks held by kworker/1:7/4981:
 #0: ffff888017470938 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
 #1: ffffc9000329fd20 ((work_completion)(&data->fib_event_work)){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
 #2: ffff888061b85240 (&data->fib_lock){+.+.}-{3:3}, at: nsim_fib_event_work+0x2cd/0x4120 drivers/net/netdevsim/fib.c:1480
2 locks held by syz-executor/7043:
 #0: ffff888078ff40e0 (&type->s_umount_key#55){+.+.}-{3:3}, at: deactivate_super+0xa9/0xe0 fs/super.c:365
 #1: ffffffff8cb24228 (rcu_state.exp_mutex){+.+.}-{3:3}, at: exp_funnel_lock kernel/rcu/tree_exp.h:290 [inline]
 #1: ffffffff8cb24228 (rcu_state.exp_mutex){+.+.}-{3:3}, at: synchronize_rcu_expedited+0x280/0x740 kernel/rcu/tree_exp.h:845
4 locks held by kworker/u4:15/9453:
 #0: ffff8880175cd938 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
 #1: ffffc900032e7d20 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
 #2: ffffffff8dc35790 (pernet_ops_rwsem){++++}-{3:3}, at: cleanup_net+0xf1/0xb60 net/core/net_namespace.c:561
 #3: ffffffff8cb24130 (rcu_state.barrier_mutex){+.+.}-{3:3}, at: rcu_barrier+0x9c/0x4e0 kernel/rcu/tree.c:4039
3 locks held by syz.8.700/11712:
 #0: ffffffff8d0114a8 (uuid_mutex){+.+.}-{3:3}, at: btrfs_mount_root+0x27b/0x930 fs/btrfs/super.c:1709
 #1: ffff8880205de118 (&disk->open_mutex){+.+.}-{3:3}, at: blkdev_put+0xfb/0x790 block/bdev.c:912
 #2: ffff888147b42468 (&lo->lo_mutex){+.+.}-{3:3}, at: lo_release+0x4d/0x1f0 drivers/block/loop.c:2070

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

NMI backtrace for cpu 1
CPU: 1 PID: 27 Comm: khungtaskd Not tainted 5.15.173-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1e3/0x2d0 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:334
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287
 </TASK>
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 5434 Comm: kworker/u4:10 Not tainted 5.15.173-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
Workqueue: bat_events batadv_nc_worker
RIP: 0010:lock_release+0x69/0x9a0 kernel/locking/lockdep.c:5631
Code: 60 b3 8a b5 41 48 c7 44 24 68 73 3d 3b 8c 48 c7 44 24 70 d0 e2 62 81 4c 8d 64 24 60 49 c1 ec 03 48 b8 f1 f1 f1 f1 04 f2 00 f2 <4b> 89 04 3c 48 b8 f2 f2 00 f3 f3 f3 f3 f3 4b 89 44 3c 08 0f 1f 44
RSP: 0018:ffffc90000007c40 EFLAGS: 00000802
RAX: f200f204f1f1f1f1 RBX: 0000000000000046 RCX: ffffffff81637932
RDX: dffffc0000000000 RSI: ffffffff81701f69 RDI: ffffffff8cb32348
RBP: ffffc90000007d70 R08: dffffc0000000000 R09: fffffbfff2131022
R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffff92000000f94
R13: ffffffff81701f69 R14: ffffc90000007da0 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff8880b8e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00005626476a3668 CR3: 000000007407e000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <NMI>
 </NMI>
 <IRQ>
 seqcount_lockdep_reader_access+0x10b/0x220 include/linux/seqlock.h:104
 timekeeping_get_delta kernel/time/timekeeping.c:254 [inline]
 timekeeping_get_ns kernel/time/timekeeping.c:388 [inline]
 ktime_get_update_offsets_now+0x89/0x420 kernel/time/timekeeping.c:2303
 hrtimer_update_base kernel/time/hrtimer.c:631 [inline]
 hrtimer_interrupt+0x12f/0x980 kernel/time/hrtimer.c:1796
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1097 [inline]
 __sysvec_apic_timer_interrupt+0x13b/0x4b0 arch/x86/kernel/apic/apic.c:1114
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1108 [inline]
 sysvec_apic_timer_interrupt+0x9b/0xc0 arch/x86/kernel/apic/apic.c:1108
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:676
RIP: 0010:lock_release+0x62d/0x9a0 kernel/locking/lockdep.c:5647
Code: 3c 3b 00 74 08 4c 89 f7 e8 00 63 67 00 f6 84 24 91 00 00 00 02 75 6f 41 f7 c5 00 02 00 00 74 01 fb 48 c7 44 24 60 0e 36 e0 45 <4b> c7 04 27 00 00 00 00 4b c7 44 27 08 00 00 00 00 65 48 8b 04 25
RSP: 0018:ffffc9000354fac0 EFLAGS: 00000206
RAX: 0000000000000001 RBX: 1ffff920006a9f6a RCX: ffffc9000354fb03
RDX: 0000000000000002 RSI: ffffffff8aab3d20 RDI: ffffffff8af9ed00
RBP: ffffc9000354fbe8 R08: dffffc0000000000 R09: fffffbfff1c14b16
R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffff920006a9f64
R13: 0000000000000246 R14: ffffc9000354fb50 R15: dffffc0000000000
 rcu_read_unlock include/linux/rcupdate.h:772 [inline]
 batadv_nc_purge_orig_hash net/batman-adv/network-coding.c:416 [inline]
 batadv_nc_worker+0x239/0x5b0 net/batman-adv/network-coding.c:723
 process_one_work+0x8a1/0x10c0 kernel/workqueue.c:2310
 worker_thread+0xaca/0x1280 kernel/workqueue.c:2457
 kthread+0x3f6/0x4f0 kernel/kthread.c:334
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287
 </TASK>

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/12/09 07:52 linux-5.15.y 0a51d2d4527b 9ac0fdc6 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan INFO: task hung in btrfs_page_mkwrite
* Struck through repros no longer work on HEAD.