[v6.1] INFO: task hung in btrfs_page_mkwrite

0 views
Skip to first unread message

syzbot

unread,
May 15, 2024, 1:15:28 PM (14 days ago) May 15
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 909ba1f1b414 Linux 6.1.90
git tree: linux-6.1.y
console output: https://syzkaller.appspot.com/x/log.txt?x=14b46858980000
kernel config: https://syzkaller.appspot.com/x/.config?x=3be6d6f79b879a67
dashboard link: https://syzkaller.appspot.com/bug?extid=a90e6baa1c2bfe05e6dc
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/63178de7cba7/disk-909ba1f1.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/25dec90d8126/vmlinux-909ba1f1.xz
kernel image: https://storage.googleapis.com/syzbot-assets/25509ea1c6cd/bzImage-909ba1f1.xz

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

INFO: task syz-executor.4:4779 blocked for more than 143 seconds.
Not tainted 6.1.90-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.4 state:D stack:25712 pid:4779 ppid:3570 flags:0x00004006
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5245 [inline]
__schedule+0x142d/0x4550 kernel/sched/core.c:6558
schedule+0xbf/0x180 kernel/sched/core.c:6634
io_schedule+0x88/0x100 kernel/sched/core.c:8786
folio_wait_bit_common+0x878/0x1290 mm/filemap.c:1296
btrfs_page_mkwrite+0x429/0xc90 fs/btrfs/inode.c:8592
do_page_mkwrite+0x1a1/0x5f0 mm/memory.c:2992
wp_page_shared+0x164/0x380 mm/memory.c:3341
handle_pte_fault mm/memory.c:5031 [inline]
__handle_mm_fault mm/memory.c:5155 [inline]
handle_mm_fault+0x2525/0x5340 mm/memory.c:5276
do_user_addr_fault arch/x86/mm/fault.c:1371 [inline]
handle_page_fault arch/x86/mm/fault.c:1462 [inline]
exc_page_fault+0x26f/0x660 arch/x86/mm/fault.c:1518
asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:570
RIP: 0033:0x7f76a8c5edfc
RSP: 002b:00007ffc4fc1d958 EFLAGS: 00010206
RAX: 0000000020000080 RBX: 0000000000000004 RCX: 8000000000000013
RDX: 0000000000000013 RSI: 00007f76a8805768 RDI: 0000000020000080
RBP: 00007ffc4fc1da18 R08: 00007f76a8c00000 R09: 0000000000000001
R10: 0000000000000001 R11: 0000000000000009 R12: 000000000001e2de
R13: 00007f76a8dabf8c R14: 00007ffc4fc1da40 R15: 0000000000000032
</TASK>
INFO: task syz-executor.4:4782 blocked for more than 144 seconds.
Not tainted 6.1.90-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.4 state:D stack:23944 pid:4782 ppid:3570 flags:0x00004006
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5245 [inline]
__schedule+0x142d/0x4550 kernel/sched/core.c:6558
schedule+0xbf/0x180 kernel/sched/core.c:6634
wait_on_state fs/btrfs/extent-io-tree.c:709 [inline]
wait_extent_bit+0x423/0x570 fs/btrfs/extent-io-tree.c:742
lock_extent+0x17a/0x200 fs/btrfs/extent-io-tree.c:1657
btrfs_page_mkwrite+0x550/0xc90 fs/btrfs/inode.c:8602
do_page_mkwrite+0x1a1/0x5f0 mm/memory.c:2992
wp_page_shared+0x164/0x380 mm/memory.c:3341
handle_pte_fault mm/memory.c:5031 [inline]
__handle_mm_fault mm/memory.c:5155 [inline]
handle_mm_fault+0x2525/0x5340 mm/memory.c:5276
do_user_addr_fault arch/x86/mm/fault.c:1371 [inline]
handle_page_fault arch/x86/mm/fault.c:1462 [inline]
exc_page_fault+0x26f/0x660 arch/x86/mm/fault.c:1518
asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:570
RIP: 0010:copy_user_short_string+0xd/0x40 arch/x86/lib/copy_user_64.S:233
Code: 74 0a 89 d1 f3 a4 89 c8 0f 01 ca c3 89 d0 0f 01 ca c3 01 ca eb e7 0f 1f 80 00 00 00 00 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:ffffc90003737550 EFLAGS: 00050202
RAX: ffffffff84382201 RBX: 00007fffffffefc8 RCX: 0000000000000007
RDX: 0000000000000000 RSI: ffffc90003737600 RDI: 0000000020000220
RBP: ffffc900037376b0 R08: 0000000000000000 R09: fffff520006e6ec7
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000000000038
R13: ffffc90003737600 R14: 0000000020000220 R15: ffffc90003737600
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+0xe9/0x130 lib/usercopy.c:41
copy_to_user include/linux/uaccess.h:169 [inline]
fiemap_fill_next_extent+0x231/0x410 fs/ioctl.c:144
emit_last_fiemap_cache fs/btrfs/extent_io.c:3600 [inline]
extent_fiemap+0x1b10/0x1ff0 fs/btrfs/extent_io.c:4131
btrfs_fiemap+0x174/0x1e0 fs/btrfs/inode.c:8274
ioctl_fiemap fs/ioctl.c:219 [inline]
do_vfs_ioctl+0x18e9/0x2a90 fs/ioctl.c:810
__do_sys_ioctl fs/ioctl.c:868 [inline]
__se_sys_ioctl+0x81/0x160 fs/ioctl.c:856
do_syscall_x64 arch/x86/entry/common.c:51 [inline]
do_syscall_64+0x3b/0xb0 arch/x86/entry/common.c:81
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f76a8c7dd69
RSP: 002b:00007f76a99a40c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f76a8dabf80 RCX: 00007f76a8c7dd69
RDX: 0000000020000200 RSI: 00000000c020660b RDI: 0000000000000005
RBP: 00007f76a8cca49e R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 000000000000000b R14: 00007f76a8dabf80 R15: 00007ffc4fc1d878
</TASK>

Showing all locks held in the system:
1 lock held by rcu_tasks_kthre/12:
#0: ffffffff8d12ae50 (rcu_tasks.tasks_gp_mutex){+.+.}-{3:3}, at: rcu_tasks_one_gp+0x29/0xe30 kernel/rcu/tasks.h:516
1 lock held by rcu_tasks_trace/13:
#0: ffffffff8d12b650 (rcu_tasks_trace.tasks_gp_mutex){+.+.}-{3:3}, at: rcu_tasks_one_gp+0x29/0xe30 kernel/rcu/tasks.h:516
1 lock held by khungtaskd/28:
#0: ffffffff8d12ac80 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:350 [inline]
#0: ffffffff8d12ac80 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:791 [inline]
#0: ffffffff8d12ac80 (rcu_read_lock){....}-{1:2}, at: debug_show_all_locks+0x51/0x290 kernel/locking/lockdep.c:6494
3 locks held by kworker/u4:2/36:
#0: ffff888012479138 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work+0x7a9/0x11d0 kernel/workqueue.c:2267
#1: ffffc90000ad7d20 ((work_completion)(&map->work)){+.+.}-{0:0}, at: process_one_work+0x7a9/0x11d0 kernel/workqueue.c:2267
#2: ffffffff8d130278 (rcu_state.exp_mutex){+.+.}-{3:3}, at: exp_funnel_lock kernel/rcu/tree_exp.h:323 [inline]
#2: ffffffff8d130278 (rcu_state.exp_mutex){+.+.}-{3:3}, at: synchronize_rcu_expedited+0x360/0x930 kernel/rcu/tree_exp.h:962
2 locks held by kworker/0:2/154:
#0: ffff888012472138 ((wq_completion)rcu_gp){+.+.}-{0:0}, at: process_one_work+0x7a9/0x11d0 kernel/workqueue.c:2267
#1: ffffc90002dcfd20 ((work_completion)(&rew->rew_work)){+.+.}-{0:0}, at: process_one_work+0x7a9/0x11d0 kernel/workqueue.c:2267
1 lock held by dhcpcd/3216:
#0: ffffffff8e29a9e8 (rtnl_mutex){+.+.}-{3:3}, at: __netlink_dump_start+0x12e/0x6e0 net/netlink/af_netlink.c:2300
2 locks held by getty/3300:
#0: ffff888014a59098 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x21/0x70 drivers/tty/tty_ldisc.c:244
#1: ffffc900031262f0 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x6a7/0x1db0 drivers/tty/n_tty.c:2188
3 locks held by kworker/0:13/4049:
#0: ffff888012470938 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x7a9/0x11d0 kernel/workqueue.c:2267
#1: ffffc9000986fd20 ((linkwatch_work).work){+.+.}-{0:0}, at: process_one_work+0x7a9/0x11d0 kernel/workqueue.c:2267
#2: ffffffff8e29a9e8 (rtnl_mutex){+.+.}-{3:3}, at: linkwatch_event+0xa/0x50 net/core/link_watch.c:263
3 locks held by syz-executor.4/4779:
#0: ffff88802169a6d8 (&mm->mmap_lock){++++}-{3:3}, at: mmap_read_trylock include/linux/mmap_lock.h:136 [inline]
#0: ffff88802169a6d8 (&mm->mmap_lock){++++}-{3:3}, at: get_mmap_lock_carefully mm/memory.c:5304 [inline]
#0: ffff88802169a6d8 (&mm->mmap_lock){++++}-{3:3}, at: lock_mm_and_find_vma+0x2e/0x2e0 mm/memory.c:5366
#1: ffff88807fbdc558 (sb_pagefaults#2){.+.+}-{0:0}, at: do_page_mkwrite+0x1a1/0x5f0 mm/memory.c:2992
#2: ffff8880593147c8 (&ei->i_mmap_lock){++++}-{3:3}, at: btrfs_page_mkwrite+0x421/0xc90 fs/btrfs/inode.c:8591
4 locks held by syz-executor.4/4782:
#0: ffff888059314940 (&sb->s_type->i_mutex_key#22){++++}-{3:3}, at: inode_lock_shared include/linux/fs.h:768 [inline]
#0: ffff888059314940 (&sb->s_type->i_mutex_key#22){++++}-{3:3}, at: btrfs_inode_lock+0x5c/0xd0 fs/btrfs/inode.c:147
#1: ffff88802169a6d8 (&mm->mmap_lock){++++}-{3:3}, at: mmap_read_trylock include/linux/mmap_lock.h:136 [inline]
#1: ffff88802169a6d8 (&mm->mmap_lock){++++}-{3:3}, at: get_mmap_lock_carefully mm/memory.c:5304 [inline]
#1: ffff88802169a6d8 (&mm->mmap_lock){++++}-{3:3}, at: lock_mm_and_find_vma+0x2e/0x2e0 mm/memory.c:5366
#2: ffff88807fbdc558 (sb_pagefaults#2){.+.+}-{0:0}, at: do_page_mkwrite+0x1a1/0x5f0 mm/memory.c:2992
#3: ffff8880593147c8 (&ei->i_mmap_lock){++++}-{3:3}, at: btrfs_page_mkwrite+0x421/0xc90 fs/btrfs/inode.c:8591
4 locks held by kworker/u4:12/6114:
#0: ffff888012616938 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work+0x7a9/0x11d0 kernel/workqueue.c:2267
#1: ffffc90003e07d20 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work+0x7a9/0x11d0 kernel/workqueue.c:2267
#2: ffffffff8e28e690 (pernet_ops_rwsem){++++}-{3:3}, at: cleanup_net+0xf1/0xb60 net/core/net_namespace.c:563
#3: ffffffff8e29a9e8 (rtnl_mutex){+.+.}-{3:3}, at: cangw_pernet_exit_batch+0x1c/0x90 net/can/gw.c:1250
1 lock held by syz-executor.4/7654:
#0: ffffffff8e29a9e8 (rtnl_mutex){+.+.}-{3:3}, at: rtnl_lock net/core/rtnetlink.c:74 [inline]
#0: ffffffff8e29a9e8 (rtnl_mutex){+.+.}-{3:3}, at: rtnetlink_rcv_msg+0x7c1/0xff0 net/core/rtnetlink.c:6118
1 lock held by syz-executor.0/7778:
#0: ffffffff8e29a9e8 (rtnl_mutex){+.+.}-{3:3}, at: rtnl_lock net/core/rtnetlink.c:74 [inline]
#0: ffffffff8e29a9e8 (rtnl_mutex){+.+.}-{3:3}, at: rtnetlink_rcv_msg+0x7c1/0xff0 net/core/rtnetlink.c:6118
1 lock held by syz-executor.2/7781:
#0: ffffffff8e29a9e8 (rtnl_mutex){+.+.}-{3:3}, at: rtnl_lock net/core/rtnetlink.c:74 [inline]
#0: ffffffff8e29a9e8 (rtnl_mutex){+.+.}-{3:3}, at: rtnetlink_rcv_msg+0x7c1/0xff0 net/core/rtnetlink.c:6118
2 locks held by syz-executor.1/7857:
#0: ffffffff8e29a9e8 (rtnl_mutex){+.+.}-{3:3}, at: tun_detach drivers/net/tun.c:698 [inline]
#0: ffffffff8e29a9e8 (rtnl_mutex){+.+.}-{3:3}, at: tun_chr_close+0x3a/0x1b0 drivers/net/tun.c:3489
#1: ffffffff8d130278 (rcu_state.exp_mutex){+.+.}-{3:3}, at: exp_funnel_lock kernel/rcu/tree_exp.h:291 [inline]
#1: ffffffff8d130278 (rcu_state.exp_mutex){+.+.}-{3:3}, at: synchronize_rcu_expedited+0x4f0/0x930 kernel/rcu/tree_exp.h:962

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

NMI backtrace for cpu 0
CPU: 0 PID: 28 Comm: khungtaskd Not tainted 6.1.90-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/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+0x4e1/0x560 lib/nmi_backtrace.c:111
nmi_trigger_cpumask_backtrace+0x1b0/0x3f0 lib/nmi_backtrace.c:62
trigger_all_cpu_backtrace include/linux/nmi.h:148 [inline]
check_hung_uninterruptible_tasks kernel/hung_task.c:220 [inline]
watchdog+0xf88/0xfd0 kernel/hung_task.c:377
kthread+0x28d/0x320 kernel/kthread.c:376
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:308
</TASK>
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 36 Comm: kworker/u4:2 Not tainted 6.1.90-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/2024
Workqueue: bat_events batadv_nc_worker
RIP: 0010:check_preemption_disabled+0x7/0x110 lib/smp_processor_id.c:13
Code: e8 6e 83 d8 f9 e9 6d ff ff ff cc cc cc cc cc cc cc cc cc 48 c7 c7 80 43 3d 8b 48 c7 c6 c0 43 3d 8b eb 00 41 57 41 56 41 54 53 <48> 83 ec 10 65 48 8b 04 25 28 00 00 00 48 89 44 24 08 65 8b 1d 10
RSP: 0018:ffffc90000ad7bb0 EFLAGS: 00000282
RAX: 0000000000000000 RBX: ffff88802041f6c0 RCX: ffff888016aa0000
RDX: ffff888016aa0000 RSI: ffffffff8b3d43c0 RDI: ffffffff8b3d4380
RBP: ffff88805c838050 R08: ffffffff8a5bb7dd R09: fffffbfff2093645
R10: 0000000000000000 R11: dffffc0000000001 R12: ffff88805dbd8c80
R13: 000000000000000a R14: 0000000000000001 R15: dffffc0000000000
FS: 0000000000000000(0000) GS:ffff8880b9900000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fdc2a6acae0 CR3: 00000000768fa000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<NMI>
</NMI>
<TASK>
rcu_dynticks_curr_cpu_in_eqs include/linux/context_tracking.h:122 [inline]
rcu_is_watching+0x11/0xb0 kernel/rcu/tree.c:721
rcu_read_lock include/linux/rcupdate.h:792 [inline]
batadv_nc_purge_orig_hash net/batman-adv/network-coding.c:408 [inline]
batadv_nc_worker+0x107/0x610 net/batman-adv/network-coding.c:719
process_one_work+0x8a9/0x11d0 kernel/workqueue.c:2292
worker_thread+0xa47/0x1200 kernel/workqueue.c:2439
kthread+0x28d/0x320 kernel/kthread.c:376
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:308
</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
Reply all
Reply to author
Forward
0 new messages