syzbot


INFO: task hung in d_alloc_parallel

Status: upstream: reported syz repro on 2020/05/01 20:49
Reported-by: syzbot+a0d1743d239c1544a3f7@syzkaller.appspotmail.com
First crash: 794d, last: 517d

Fix bisection: failed (bisect log)
similar bugs (5):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
android-49 INFO: task hung in d_alloc_parallel 85 1028d 1178d 0/3 auto-closed as invalid on 2020/01/08 20:52
linux-4.14 INFO: task hung in d_alloc_parallel C error 4 447d 1056d 0/1 upstream: reported C repro on 2019/08/14 00:43
android-414 INFO: task hung in d_alloc_parallel 1 988d 988d 0/1 auto-closed as invalid on 2020/02/18 04:29
upstream INFO: task hung in d_alloc_parallel 213 1222d 1553d 0/22 closed as dup on 2018/09/08 15:40
upstream INFO: task hung in d_alloc_parallel (2) C done error 147 131d 986d 0/22 upstream: reported C repro on 2019/10/22 22:44

Sample crash report:
NOHZ: local_softirq_pending 08
INFO: task syz-executor.3:13911 blocked for more than 140 seconds.
      Not tainted 4.19.119-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
syz-executor.3  D28880 13911   6458 0x00000000
Call Trace:
 schedule+0x8d/0x1b0 kernel/sched/core.c:3559
 d_wait_lookup fs/dcache.c:2428 [inline]
 d_alloc_parallel+0x1132/0x1ad0 fs/dcache.c:2510
 lookup_open+0x4dc/0x19b0 fs/namei.c:3148
 do_last fs/namei.c:3327 [inline]
 path_openat+0x1d30/0x4200 fs/namei.c:3537
 do_filp_open+0x1a1/0x280 fs/namei.c:3567
 do_sys_open+0x3c0/0x500 fs/open.c:1085
 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x45c829
Code: Bad RIP value.
RSP: 002b:00007f85b3abac78 EFLAGS: 00000246 ORIG_RAX: 0000000000000002
RAX: ffffffffffffffda RBX: 00000000004f6800 RCX: 000000000045c829
RDX: 0000000000000049 RSI: 00000000000a8482 RDI: 0000000020000000
RBP: 000000000078c040 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff
R13: 0000000000000773 R14: 000000000052515f R15: 00007f85b3abb6d4

Showing all locks held in the system:
4 locks held by kworker/u4:4/323:
1 lock held by khungtaskd/1075:
 #0: 00000000e76484a6 (rcu_read_lock){....}, at: debug_show_all_locks+0x53/0x265 kernel/locking/lockdep.c:4440
1 lock held by systemd-journal/3690:
 #0: 000000008c2f66b9 (&rq->lock){-.-.}, at: rq_lock kernel/sched/sched.h:1823 [inline]
 #0: 000000008c2f66b9 (&rq->lock){-.-.}, at: __schedule+0x1f8/0x1d80 kernel/sched/core.c:3453
1 lock held by in:imklog/6187:
 #0: 000000006207f6e9 (&f->f_pos_lock){+.+.}, at: __fdget_pos+0xe3/0x100 fs/file.c:767
2 locks held by syz-executor.3/13873:
 #0: 0000000030c99d3f (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #0: 0000000030c99d3f (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #0: 0000000030c99d3f (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537
 #1: 000000005623833d (&fi->mutex){+.+.}, at: fuse_lock_inode+0xaf/0xe0 fs/fuse/inode.c:365
2 locks held by syz-executor.3/13911:
 #0: 00000000cb303864 (sb_writers#16){.+.+}, at: sb_start_write include/linux/fs.h:1579 [inline]
 #0: 00000000cb303864 (sb_writers#16){.+.+}, at: mnt_want_write+0x3a/0xb0 fs/namespace.c:360
 #1: 0000000030c99d3f (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #1: 0000000030c99d3f (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #1: 0000000030c99d3f (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537
2 locks held by syz-executor.2/18480:
 #0: 00000000415dfea4 (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #0: 00000000415dfea4 (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #0: 00000000415dfea4 (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537
 #1: 00000000ccfba7d0 (&fi->mutex){+.+.}, at: fuse_lock_inode+0xaf/0xe0 fs/fuse/inode.c:365
2 locks held by syz-executor.2/18497:
 #0: 000000004e1f6119 (sb_writers#16){.+.+}, at: sb_start_write include/linux/fs.h:1579 [inline]
 #0: 000000004e1f6119 (sb_writers#16){.+.+}, at: mnt_want_write+0x3a/0xb0 fs/namespace.c:360
 #1: 00000000415dfea4 (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #1: 00000000415dfea4 (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #1: 00000000415dfea4 (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537
1 lock held by syz-executor.5/19520:
 #0: 00000000ddc81dae (&type->i_mutex_dir_key#8){++++}, at: inode_lock include/linux/fs.h:748 [inline]
 #0: 00000000ddc81dae (&type->i_mutex_dir_key#8){++++}, at: lock_mount+0x8a/0x2f0 fs/namespace.c:2039
2 locks held by syz-executor.5/19521:
 #0: 000000008e745868 (sb_writers#16){.+.+}, at: sb_start_write include/linux/fs.h:1579 [inline]
 #0: 000000008e745868 (sb_writers#16){.+.+}, at: mnt_want_write+0x3a/0xb0 fs/namespace.c:360
 #1: 00000000ddc81dae (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #1: 00000000ddc81dae (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #1: 00000000ddc81dae (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537
1 lock held by syz-executor.5/19526:
 #0: 00000000ddc81dae (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #0: 00000000ddc81dae (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #0: 00000000ddc81dae (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537
2 locks held by syz-executor.5/19502:
 #0: 00000000ddc81dae (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #0: 00000000ddc81dae (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #0: 00000000ddc81dae (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537
 #1: 00000000145bd8ed (&fi->mutex){+.+.}, at: fuse_lock_inode+0xaf/0xe0 fs/fuse/inode.c:365
1 lock held by syz-executor.0/19552:
 #0: 000000001a85fc12 (&type->i_mutex_dir_key#8){++++}, at: inode_lock include/linux/fs.h:748 [inline]
 #0: 000000001a85fc12 (&type->i_mutex_dir_key#8){++++}, at: lock_mount+0x8a/0x2f0 fs/namespace.c:2039
1 lock held by syz-executor.0/19557:
 #0: 000000001a85fc12 (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #0: 000000001a85fc12 (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #0: 000000001a85fc12 (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537
1 lock held by syz-executor.2/19554:
 #0: 00000000e9b098a8 (&type->i_mutex_dir_key#8){++++}, at: inode_lock include/linux/fs.h:748 [inline]
 #0: 00000000e9b098a8 (&type->i_mutex_dir_key#8){++++}, at: lock_mount+0x8a/0x2f0 fs/namespace.c:2039
2 locks held by syz-executor.2/19555:
 #0: 00000000970ba634 (sb_writers#16){.+.+}, at: sb_start_write include/linux/fs.h:1579 [inline]
 #0: 00000000970ba634 (sb_writers#16){.+.+}, at: mnt_want_write+0x3a/0xb0 fs/namespace.c:360
 #1: 00000000e9b098a8 (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #1: 00000000e9b098a8 (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #1: 00000000e9b098a8 (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537
1 lock held by syz-executor.2/19564:
 #0: 00000000e9b098a8 (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #0: 00000000e9b098a8 (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #0: 00000000e9b098a8 (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537
2 locks held by syz-executor.2/19518:
 #0: 00000000e9b098a8 (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #0: 00000000e9b098a8 (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #0: 00000000e9b098a8 (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537
 #1: 000000003874a7d1 (&fi->mutex){+.+.}, at: fuse_lock_inode+0xaf/0xe0 fs/fuse/inode.c:365
2 locks held by syz-executor.0/19523:
 #0: 000000001a85fc12 (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #0: 000000001a85fc12 (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #0: 000000001a85fc12 (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537
 #1: 00000000902da5fe (&fi->mutex){+.+.}, at: fuse_lock_inode+0xaf/0xe0 fs/fuse/inode.c:365
1 lock held by syz-executor.3/19566:
 #0: 000000002330b0ca (&type->i_mutex_dir_key#8){++++}, at: inode_lock include/linux/fs.h:748 [inline]
 #0: 000000002330b0ca (&type->i_mutex_dir_key#8){++++}, at: lock_mount+0x8a/0x2f0 fs/namespace.c:2039
1 lock held by syz-executor.3/19569:
 #0: 000000002330b0ca (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #0: 000000002330b0ca (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #0: 000000002330b0ca (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537
2 locks held by syz-executor.3/19538:
 #0: 000000002330b0ca (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #0: 000000002330b0ca (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #0: 000000002330b0ca (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537
 #1: 00000000d110ea06 (&fi->mutex){+.+.}, at: fuse_lock_inode+0xaf/0xe0 fs/fuse/inode.c:365
1 lock held by syz-executor.1/19584:
 #0: 00000000e2fc445e (&type->i_mutex_dir_key#8){++++}, at: inode_lock include/linux/fs.h:748 [inline]
 #0: 00000000e2fc445e (&type->i_mutex_dir_key#8){++++}, at: lock_mount+0x8a/0x2f0 fs/namespace.c:2039
2 locks held by syz-executor.1/19585:
 #0: 000000005f2008da (sb_writers#16){.+.+}, at: sb_start_write include/linux/fs.h:1579 [inline]
 #0: 000000005f2008da (sb_writers#16){.+.+}, at: mnt_want_write+0x3a/0xb0 fs/namespace.c:360
 #1: 00000000e2fc445e (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #1: 00000000e2fc445e (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #1: 00000000e2fc445e (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537
1 lock held by syz-executor.1/19586:
 #0: 00000000e2fc445e (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #0: 00000000e2fc445e (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #0: 00000000e2fc445e (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537
2 locks held by syz-executor.1/19551:
 #0: 00000000e2fc445e (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #0: 00000000e2fc445e (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #0: 00000000e2fc445e (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537
 #1: 000000006cd8147e (&fi->mutex){+.+.}, at: fuse_lock_inode+0xaf/0xe0 fs/fuse/inode.c:365
3 locks held by syz-executor.4/19578:
 #0: 00000000751d226a (sb_writers#16){.+.+}, at: sb_start_write include/linux/fs.h:1579 [inline]
 #0: 00000000751d226a (sb_writers#16){.+.+}, at: mnt_want_write+0x3a/0xb0 fs/namespace.c:360
 #1: 00000000434ab6f2 (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #1: 00000000434ab6f2 (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #1: 00000000434ab6f2 (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537
 #2: 00000000d8f8ce20 (&fi->mutex){+.+.}, at: fuse_lock_inode+0xaf/0xe0 fs/fuse/inode.c:365
2 locks held by syz-executor.4/19591:
 #0: 000000008c2f66b9 (&rq->lock){-.-.}, at: rq_lock kernel/sched/sched.h:1823 [inline]
 #0: 000000008c2f66b9 (&rq->lock){-.-.}, at: __schedule+0x1f8/0x1d80 kernel/sched/core.c:3453
 #1: 00000000e76484a6 (rcu_read_lock){....}, at: trace_sched_stat_runtime include/trace/events/sched.h:428 [inline]
 #1: 00000000e76484a6 (rcu_read_lock){....}, at: update_curr+0x2c3/0x870 kernel/sched/fair.c:857
1 lock held by syz-executor.4/19583:
 #0: 00000000434ab6f2 (&type->i_mutex_dir_key#8){++++}, at: inode_lock_shared include/linux/fs.h:758 [inline]
 #0: 00000000434ab6f2 (&type->i_mutex_dir_key#8){++++}, at: do_last fs/namei.c:3326 [inline]
 #0: 00000000434ab6f2 (&type->i_mutex_dir_key#8){++++}, at: path_openat+0x1d18/0x4200 fs/namei.c:3537

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

NMI backtrace for cpu 1
CPU: 1 PID: 1075 Comm: khungtaskd Not tainted 4.19.119-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x188/0x20d lib/dump_stack.c:118
 nmi_cpu_backtrace.cold+0x63/0xa2 lib/nmi_backtrace.c:101
 nmi_trigger_cpumask_backtrace+0x1a6/0x1eb lib/nmi_backtrace.c:62
 trigger_all_cpu_backtrace include/linux/nmi.h:146 [inline]
 check_hung_uninterruptible_tasks kernel/hung_task.c:203 [inline]
 watchdog+0x962/0xe40 kernel/hung_task.c:287
 kthread+0x34a/0x420 kernel/kthread.c:246
 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 323 Comm: kworker/u4:4 Not tainted 4.19.119-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: bat_events batadv_iv_send_outstanding_bat_ogm_packet
RIP: 0010:write_comp_data+0x1e/0x70 kernel/kcov.c:122
Code: 48 89 11 c3 0f 1f 84 00 00 00 00 00 65 4c 8b 04 25 40 ee 01 00 65 8b 05 f0 23 9a 7e a9 00 01 1f 00 75 51 41 8b 80 d8 12 00 00 <83> f8 03 75 45 49 8b 80 e0 12 00 00 45 8b 80 dc 12 00 00 4c 8b 08
RSP: 0018:ffff8880a9767b68 EFLAGS: 00000246
RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffffffff8357a833
RDX: 0000000000000001 RSI: 0000000000000000 RDI: 0000000000000005
RBP: ffffffff87cb0320 R08: ffff8880a97741c0 R09: ffffed1015cc4733
R10: ffffed1015cc4732 R11: ffff8880ae623993 R12: 0000000000000000
R13: ffffffff87cb02e0 R14: ffff8880a09b0dc0 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8880ae600000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f93f737c9d0 CR3: 00000000a7ae5000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 check_preemption_disabled+0x33/0x280 lib/smp_processor_id.c:15
 rcu_dynticks_curr_cpu_in_eqs+0x12/0xa0 kernel/rcu/tree.c:348
 rcu_is_watching+0xc/0x20 kernel/rcu/tree.c:1025
 rcu_read_unlock include/linux/rcupdate.h:677 [inline]
 batadv_iv_ogm_slide_own_bcast_window net/batman-adv/bat_iv_ogm.c:952 [inline]
 batadv_iv_ogm_schedule_buff+0x9f7/0x1220 net/batman-adv/bat_iv_ogm.c:1006
 batadv_iv_ogm_schedule net/batman-adv/bat_iv_ogm.c:1050 [inline]
 batadv_iv_ogm_schedule net/batman-adv/bat_iv_ogm.c:1043 [inline]
 batadv_iv_send_outstanding_bat_ogm_packet+0x5e0/0x7a0 net/batman-adv/bat_iv_ogm.c:1869
 process_one_work+0x91f/0x1640 kernel/workqueue.c:2155
 worker_thread+0x96/0xe20 kernel/workqueue.c:2298
 kthread+0x34a/0x420 kernel/kthread.c:246
 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415

Crashes (3):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci2-linux-4-19 2020/05/01 20:48 linux-4.19.y 765675379b62 143a10e9 .config log report syz
ci2-linux-4-19 2021/02/03 03:26 linux-4.19.y 811218eceeaa 624dad51 .config log report info INFO: task hung in d_alloc_parallel
ci2-linux-4-19 2020/12/04 23:52 linux-4.19.y daefdc9eb24b 20366b87 .config log report info