syzbot


INFO: task hung in diUpdatePMap

Status: upstream: reported on 2025/01/20 13:43
Reported-by: syzbot+4594fb24105f2ac6d54b@syzkaller.appspotmail.com
First crash: 16d, last: 16d

Sample crash report:
INFO: task jfsCommit:276 blocked for more than 143 seconds.
      Not tainted 5.15.176-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:jfsCommit       state:D stack:28544 pid:  276 ppid:     2 flags:0x00004000
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
 schedule_preempt_disabled+0xf/0x20 kernel/sched/core.c:6515
 rwsem_down_read_slowpath+0x605/0xb40 kernel/locking/rwsem.c:1055
 __down_read_common kernel/locking/rwsem.c:1239 [inline]
 __down_read kernel/locking/rwsem.c:1252 [inline]
 down_read_nested+0x9c/0x2f0 kernel/locking/rwsem.c:1624
 diUpdatePMap+0x96/0xd90 fs/jfs/jfs_imap.c:2747
 txUpdateMap+0x710/0x9e0 fs/jfs/jfs_txnmgr.c:2390
 txLazyCommit fs/jfs/jfs_txnmgr.c:2698 [inline]
 jfs_lazycommit+0x470/0xc30 fs/jfs/jfs_txnmgr.c:2766
 kthread+0x3f6/0x4f0 kernel/kthread.c:334
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287
 </TASK>
INFO: task syz.5.886:10309 blocked for more than 144 seconds.
      Not tainted 5.15.176-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz.5.886       state:D stack:25016 pid:10309 ppid:  7629 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
 __lock_metapage+0x1ec/0x3c0 fs/jfs/jfs_metapage.c:49
 lock_metapage fs/jfs/jfs_metapage.c:63 [inline]
 __get_metapage+0x495/0x1070 fs/jfs/jfs_metapage.c:640
 dbAllocCtl+0xdb/0x9a0 fs/jfs/jfs_dmap.c:1884
 dbAllocAG+0x28b/0x10b0 fs/jfs/jfs_dmap.c:1432
 dbAlloc+0x654/0xc90 fs/jfs/jfs_dmap.c:888
 diNewIAG fs/jfs/jfs_imap.c:2510 [inline]
 diAllocExt fs/jfs/jfs_imap.c:1905 [inline]
 diAllocAG+0xa95/0x1e50 fs/jfs/jfs_imap.c:1669
 diAlloc+0x1ce/0x1630 fs/jfs/jfs_imap.c:1590
 ialloc+0x8b/0x970 fs/jfs/jfs_inode.c:56
 jfs_mkdir+0x1c1/0xbb0 fs/jfs/namei.c:225
 vfs_mkdir+0x3b6/0x590 fs/namei.c:4065
 do_mkdirat+0x260/0x520 fs/namei.c:4090
 __do_sys_mkdirat fs/namei.c:4105 [inline]
 __se_sys_mkdirat fs/namei.c:4103 [inline]
 __x64_sys_mkdirat+0x85/0x90 fs/namei.c:4103
 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:0x7efee2b0fd29
RSP: 002b:00007efee0980038 EFLAGS: 00000246 ORIG_RAX: 0000000000000102
RAX: ffffffffffffffda RBX: 00007efee2cfffa0 RCX: 00007efee2b0fd29
RDX: 0000000000000000 RSI: 00000000200005c0 RDI: ffffffffffffff9c
RBP: 00007efee2b8bb08 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007efee2cfffa0 R15: 00007ffc92861fe8
 </TASK>

Showing all locks held in the system:
1 lock held by khungtaskd/27:
 #0: ffffffff8cb1fce0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x0/0x30
2 locks held by kworker/u4:1/144:
1 lock held by jfsCommit/276:
 #0: ffff88805b865478 (&jfs_ip->rdwrlock/1){++++}-{3:3}, at: diUpdatePMap+0x96/0xd90 fs/jfs/jfs_imap.c:2747
2 locks held by getty/3927:
 #0: ffff88814ceb7098 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x21/0x70 drivers/tty/tty_ldisc.c:252
 #1: ffffc900025c62e8 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x6af/0x1db0 drivers/tty/n_tty.c:2158
2 locks held by kworker/0:4/4216:
 #0: ffff888017470938 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
 #1: ffffc9000317fd20 ((work_completion)(&pwq->unbound_release_work)){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
3 locks held by kworker/1:7/4218:
 #0: ffff888017470938 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
 #1: ffffc9000319fd20 ((work_completion)(&pwq->unbound_release_work)){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
 #2: ffffffff8cb242a8 (rcu_state.exp_mutex){+.+.}-{3:3}, at: exp_funnel_lock kernel/rcu/tree_exp.h:322 [inline]
 #2: ffffffff8cb242a8 (rcu_state.exp_mutex){+.+.}-{3:3}, at: synchronize_rcu_expedited+0x350/0x740 kernel/rcu/tree_exp.h:845
2 locks held by kworker/0:6/4247:
 #0: ffff888017470938 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
 #1: ffffc9000320fd20 ((work_completion)(&pwq->unbound_release_work)){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
2 locks held by kworker/u4:10/4699:
2 locks held by kworker/0:10/5704:
 #0: ffff888017472138 ((wq_completion)rcu_gp){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
 #1: ffffc900042bfd20 ((work_completion)(&rew.rew_work)){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
2 locks held by kworker/0:11/5705:
 #0: ffff888017470938 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
 #1: ffffc9000154fd20 ((work_completion)(&pwq->unbound_release_work)){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
3 locks held by kworker/0:12/5706:
 #0: ffff888017470938 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
 #1: ffffc90002dffd20 ((work_completion)(&pwq->unbound_release_work)){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
 #2: ffffffff8cb242a8 (rcu_state.exp_mutex){+.+.}-{3:3}, at: exp_funnel_lock kernel/rcu/tree_exp.h:322 [inline]
 #2: ffffffff8cb242a8 (rcu_state.exp_mutex){+.+.}-{3:3}, at: synchronize_rcu_expedited+0x350/0x740 kernel/rcu/tree_exp.h:845
6 locks held by syz.5.886/10309:
 #0: ffff88805d4a4460 (sb_writers#21){.+.+}-{0:0}, at: mnt_want_write+0x3b/0x80 fs/namespace.c:377
 #1: ffff88805b866200 (&type->i_mutex_dir_key#13/1){+.+.}-{3:3}, at: inode_lock_nested include/linux/fs.h:824 [inline]
 #1: ffff88805b866200 (&type->i_mutex_dir_key#13/1){+.+.}-{3:3}, at: filename_create+0x25c/0x530 fs/namei.c:3835
 #2: ffff888064818920 (&(imap->im_aglock[index])){+.+.}-{3:3}, at: diAlloc+0x1b2/0x1630
 #3: ffff888064818890 (&imap->im_freelock){+.+.}-{3:3}, at: diNewIAG fs/jfs/jfs_imap.c:2460 [inline]
 #3: ffff888064818890 (&imap->im_freelock){+.+.}-{3:3}, at: diAllocExt fs/jfs/jfs_imap.c:1905 [inline]
 #3: ffff888064818890 (&imap->im_freelock){+.+.}-{3:3}, at: diAllocAG+0x4af/0x1e50 fs/jfs/jfs_imap.c:1669
 #4: ffff88805b865478 (&jfs_ip->rdwrlock/1){++++}-{3:3}, at: diNewIAG fs/jfs/jfs_imap.c:2477 [inline]
 #4: ffff88805b865478 (&jfs_ip->rdwrlock/1){++++}-{3:3}, at: diAllocExt fs/jfs/jfs_imap.c:1905 [inline]
 #4: ffff88805b865478 (&jfs_ip->rdwrlock/1){++++}-{3:3}, at: diAllocAG+0x861/0x1e50 fs/jfs/jfs_imap.c:1669
 #5: ffff88805b8641f8 (&jfs_ip->rdwrlock#2/2){++++}-{3:3}, at: dbAlloc+0x63d/0xc90 fs/jfs/jfs_dmap.c:883
1 lock held by dhcpcd/12651:
 #0: ffff888050c11a10 (&sb->s_type->i_mutex_key#11){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:789 [inline]
 #0: ffff888050c11a10 (&sb->s_type->i_mutex_key#11){+.+.}-{3:3}, at: __sock_release net/socket.c:648 [inline]
 #0: ffff888050c11a10 (&sb->s_type->i_mutex_key#11){+.+.}-{3:3}, at: sock_close+0x98/0x230 net/socket.c:1336
2 locks held by syz-executor/13295:
 #0: ffff888020947d18 (&disk->open_mutex){+.+.}-{3:3}, at: blkdev_put+0xfb/0x790 block/bdev.c:912
 #1: ffff8881478f6468 (&lo->lo_mutex){+.+.}-{3:3}, at: __loop_clr_fd+0xa9/0xbe0 drivers/block/loop.c:1365
2 locks held by dhcpcd-run-hook/13962:

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

NMI backtrace for cpu 1
CPU: 1 PID: 27 Comm: khungtaskd Not tainted 5.15.176-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/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: 4156 Comm: syz-executor Not tainted 5.15.176-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024
RIP: 0010:get_current arch/x86/include/asm/current.h:15 [inline]
RIP: 0010:write_comp_data kernel/kcov.c:226 [inline]
RIP: 0010:__sanitizer_cov_trace_const_cmp4+0x4/0x80 kernel/kcov.c:293
Code: 89 f8 89 f6 48 c7 44 0a 08 03 00 00 00 48 89 44 0a 10 48 89 74 0a 18 4c 89 44 0a 20 49 ff c1 4c 89 09 c3 0f 1f 00 4c 8b 04 24 <65> 48 8b 15 74 e7 81 7e 65 8b 05 75 e7 81 7e 25 00 01 ff 00 74 10
RSP: 0018:ffffc90002fefec8 EFLAGS: 00000093
RAX: ffffffff81a76bb1 RBX: 0000000000000000 RCX: ffff888024b85940
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000007
RBP: ffffc90002feff48 R08: ffffffff81a76bc4 R09: fffffbfff1c14d56
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000000000000
R13: 0000000000000000 R14: ffffc90002feff58 R15: 0000000000000000
FS:  000055559073e500(0000) GS:ffff8880b8e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f2a105a23b0 CR3: 0000000075898000 CR4: 00000000003506f0
DR0: fffffffffffffff2 DR1: 0000000008000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <NMI>
 </NMI>
 <TASK>
 cpu_max_bits_warn include/linux/cpumask.h:108 [inline]
 cpumask_check include/linux/cpumask.h:115 [inline]
 cpumask_test_cpu include/linux/cpumask.h:344 [inline]
 cpu_online include/linux/cpumask.h:895 [inline]
 trace_user_exit+0x24/0x1b0 include/trace/events/context_tracking.h:48
 __context_tracking_exit+0x51/0x80 kernel/context_tracking.c:161
 user_exit_irqoff include/linux/context_tracking.h:47 [inline]
 __enter_from_user_mode kernel/entry/common.c:22 [inline]
 syscall_enter_from_user_mode+0x1bf/0x240 kernel/entry/common.c:110
 do_syscall_64+0x1e/0xb0 arch/x86/entry/common.c:76
 entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7ff297ceb6fd
Code: a8 ff ff ff f7 d8 64 89 02 b8 ff ff ff ff eb b5 e8 a8 48 00 00 0f 1f 84 00 00 00 00 00 80 3d 41 7e 1c 00 00 74 17 31 c0 0f 05 <48> 3d 00 f0 ff ff 77 5b c3 66 2e 0f 1f 84 00 00 00 00 00 48 83 ec
RSP: 002b:00007ffc8c0d09b8 EFLAGS: 00000246 ORIG_RAX: 0000000000000000
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007ff297ceb6fd
RDX: 0000000000000004 RSI: 00007ffc8c0d09cc RDI: 0000000000000003
RBP: 0000000000000000 R08: 00007ffc8c0ee0b0 R09: 0000000000000010
R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffc8c0d0de0
R13: 0000000000000004 R14: 00007ffc8c0d09cc R15: 00007ffc8c0d0a60
 </TASK>

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/01/20 13:42 linux-5.15.y 4735586da88e f2cb035c .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan INFO: task hung in diUpdatePMap
* Struck through repros no longer work on HEAD.