syzbot


linux-next boot error: INFO: task hung in add_early_randomness (2)

Status: fixed on 2023/02/24 13:50
Subsystems: crypto
[Documentation on labels]
Reported-by: syzbot+4bff2788f64e121fefcf@syzkaller.appspotmail.com
Fix commit: 228432551bd8 virtio-rng: make device ready before making request
First crash: 665d, last: 659d
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] linux-next boot error: INFO: task hung in add_early_randomness (2) 1 (2) 2022/06/10 08:33
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream linux-next boot error: INFO: task hung in add_early_randomness crypto 1 667d 667d 0/26 closed as invalid on 2022/05/31 06:01

Sample crash report:
INFO: task swapper/0:1 blocked for more than 143 seconds.
      Not tainted 5.19.0-rc1-next-20220608-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:swapper/0       state:D stack:22864 pid:    1 ppid:     0 flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5148 [inline]
 __schedule+0xa06/0x4b40 kernel/sched/core.c:6460
 schedule+0xd2/0x1f0 kernel/sched/core.c:6532
 schedule_preempt_disabled+0xf/0x20 kernel/sched/core.c:6591
 __mutex_lock_common kernel/locking/mutex.c:679 [inline]
 __mutex_lock+0xa70/0x1350 kernel/locking/mutex.c:747
 add_early_randomness+0x1a/0x170 drivers/char/hw_random/core.c:69
 hwrng_register+0x399/0x510 drivers/char/hw_random/core.c:599
 virtrng_scan+0x37/0x90 drivers/char/hw_random/virtio-rng.c:205
 virtio_dev_probe+0x639/0x910 drivers/virtio/virtio.c:312
 call_driver_probe drivers/base/dd.c:555 [inline]
 really_probe+0x23e/0xb90 drivers/base/dd.c:634
 __driver_probe_device+0x338/0x4d0 drivers/base/dd.c:764
 driver_probe_device+0x4c/0x1a0 drivers/base/dd.c:794
 __driver_attach+0x22d/0x550 drivers/base/dd.c:1163
 bus_for_each_dev+0x147/0x1d0 drivers/base/bus.c:301
 bus_add_driver+0x422/0x640 drivers/base/bus.c:618
 driver_register+0x220/0x3a0 drivers/base/driver.c:240
 do_one_initcall+0x103/0x650 init/main.c:1300
 do_initcall_level init/main.c:1375 [inline]
 do_initcalls init/main.c:1391 [inline]
 do_basic_setup init/main.c:1410 [inline]
 kernel_init_freeable+0x6b1/0x73a init/main.c:1617
 kernel_init+0x1a/0x1d0 init/main.c:1506
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302
 </TASK>

Showing all locks held in the system:
2 locks held by swapper/0/1:
 #0: ffff88801beb1170 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:835 [inline]
 #0: ffff88801beb1170 (&dev->mutex){....}-{3:3}, at: __device_driver_lock drivers/base/dd.c:1054 [inline]
 #0: ffff88801beb1170 (&dev->mutex){....}-{3:3}, at: __driver_attach+0x222/0x550 drivers/base/dd.c:1162
 #1: ffffffff8c841428 (reading_mutex){+.+.}-{3:3}, at: add_early_randomness+0x1a/0x170 drivers/char/hw_random/core.c:69
2 locks held by kworker/u4:1/11:
 #0: ffff888011869138 ((wq_completion)events_unbound){+.+.}-{0:0}, at: arch_atomic64_set arch/x86/include/asm/atomic64_64.h:34 [inline]
 #0: ffff888011869138 ((wq_completion)events_unbound){+.+.}-{0:0}, at: arch_atomic_long_set include/linux/atomic/atomic-long.h:41 [inline]
 #0: ffff888011869138 ((wq_completion)events_unbound){+.+.}-{0:0}, at: atomic_long_set include/linux/atomic/atomic-instrumented.h:1280 [inline]
 #0: ffff888011869138 ((wq_completion)events_unbound){+.+.}-{0:0}, at: set_work_data kernel/workqueue.c:636 [inline]
 #0: ffff888011869138 ((wq_completion)events_unbound){+.+.}-{0:0}, at: set_work_pool_and_clear_pending kernel/workqueue.c:663 [inline]
 #0: ffff888011869138 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work+0x87a/0x1610 kernel/workqueue.c:2260
 #1: ffffc90000107da8 ((work_completion)(&(&kfence_timer)->work)){+.+.}-{0:0}, at: process_one_work+0x8ae/0x1610 kernel/workqueue.c:2264
1 lock held by rcu_tasks_kthre/12:
 #0: ffffffff8bd86310 (rcu_tasks.tasks_gp_mutex){+.+.}-{3:3}, at: rcu_tasks_one_gp+0x26/0xc70 kernel/rcu/tasks.h:506
1 lock held by rcu_tasks_trace/13:
 #0: ffffffff8bd86010 (rcu_tasks_trace.tasks_gp_mutex){+.+.}-{3:3}, at: rcu_tasks_one_gp+0x26/0xc70 kernel/rcu/tasks.h:506
2 locks held by pr/ttyS0/16:
1 lock held by khungtaskd/29:
 #0: ffffffff8bd86e60 (rcu_read_lock){....}-{1:2}, at: debug_show_all_locks+0x53/0x260 kernel/locking/lockdep.c:6491
1 lock held by hwrng/756:
 #0: ffffffff8c841428 (reading_mutex){+.+.}-{3:3}, at: hwrng_fillfn+0x141/0x370 drivers/char/hw_random/core.c:503

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


Crashes (14):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/06/08 04:40 linux-next 03c312cc5f47 b2706118 .config console log report ci-upstream-linux-next-kasan-gce-root linux-next boot error: INFO: task hung in add_early_randomness
2022/06/07 07:46 linux-next 73d0e32571a0 c8857892 .config console log report ci-upstream-linux-next-kasan-gce-root linux-next boot error: INFO: task hung in add_early_randomness
2022/06/07 07:46 linux-next 73d0e32571a0 c8857892 .config console log report ci-upstream-linux-next-kasan-gce-root linux-next boot error: INFO: task hung in add_early_randomness
2022/06/06 04:49 linux-next 40b58e42584b c8857892 .config console log report ci-upstream-linux-next-kasan-gce-root linux-next boot error: INFO: task hung in add_early_randomness
2022/06/04 01:14 linux-next 1cfd968b58a1 c8857892 .config console log report ci-upstream-linux-next-kasan-gce-root linux-next boot error: INFO: task hung in add_early_randomness
2022/06/03 10:18 linux-next 1cfd968b58a1 02dddea8 .config console log report ci-upstream-linux-next-kasan-gce-root linux-next boot error: INFO: task hung in add_early_randomness
2022/06/03 03:43 linux-next 2e776ccffa84 02dddea8 .config console log report ci-upstream-linux-next-kasan-gce-root linux-next boot error: INFO: task hung in add_early_randomness
2022/06/03 03:43 linux-next 2e776ccffa84 02dddea8 .config console log report ci-upstream-linux-next-kasan-gce-root linux-next boot error: INFO: task hung in add_early_randomness
2022/06/03 03:43 linux-next 2e776ccffa84 02dddea8 .config console log report ci-upstream-linux-next-kasan-gce-root linux-next boot error: INFO: task hung in add_early_randomness
2022/06/02 09:55 linux-next 2e776ccffa84 5783034f .config console log report ci-upstream-linux-next-kasan-gce-root linux-next boot error: INFO: task hung in add_early_randomness
2022/06/02 09:55 linux-next 2e776ccffa84 5783034f .config console log report ci-upstream-linux-next-kasan-gce-root linux-next boot error: INFO: task hung in add_early_randomness
2022/06/02 04:54 linux-next 2e776ccffa84 b4bc6a3d .config console log report ci-upstream-linux-next-kasan-gce-root linux-next boot error: INFO: task hung in add_early_randomness
2022/06/02 04:54 linux-next 2e776ccffa84 b4bc6a3d .config console log report ci-upstream-linux-next-kasan-gce-root linux-next boot error: INFO: task hung in add_early_randomness
2022/06/02 04:54 linux-next 2e776ccffa84 b4bc6a3d .config console log report ci-upstream-linux-next-kasan-gce-root linux-next boot error: INFO: task hung in add_early_randomness
* Struck through repros no longer work on HEAD.