syzbot


INFO: task hung in devlink_pernet_pre_exit

Status: upstream: reported on 2024/09/12 18:03
Reported-by: syzbot+081e89948cf1f50f6554@syzkaller.appspotmail.com
First crash: 40d, last: 40d
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: task hung in devlink_pernet_pre_exit net 1 1098d 1098d 0/28 auto-closed as invalid on 2022/01/18 07:25
upstream INFO: task hung in devlink_pernet_pre_exit (2) net 31 1d17h 2d12h 24/28 internal: reported on 2024/10/20 07:50

Sample crash report:
INFO: task syz-executor:4017 blocked for more than 144 seconds.
      Not tainted 5.15.167-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor    state:D stack:24408 pid: 4017 ppid:     1 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
 schedule_preempt_disabled+0xf/0x20 kernel/sched/core.c:6515
 __mutex_lock_common+0xe34/0x25a0 kernel/locking/mutex.c:669
 __mutex_lock kernel/locking/mutex.c:729 [inline]
 mutex_lock_nested+0x17/0x20 kernel/locking/mutex.c:743
 devlink_pernet_pre_exit+0xb1/0x350 net/core/devlink.c:11534
 ops_pre_exit_list net/core/net_namespace.c:162 [inline]
 setup_net+0x651/0x9e0 net/core/net_namespace.c:349
 copy_net_ns+0x392/0x5d0 net/core/net_namespace.c:476
 create_new_namespaces+0x425/0x7a0 kernel/nsproxy.c:110
 unshare_nsproxy_namespaces+0x11e/0x170 kernel/nsproxy.c:226
 ksys_unshare+0x580/0xb20 kernel/fork.c:3101
 __do_sys_unshare kernel/fork.c:3175 [inline]
 __se_sys_unshare kernel/fork.c:3173 [inline]
 __x64_sys_unshare+0x34/0x40 kernel/fork.c:3173
 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:0x7ff6f74a26f7
RSP: 002b:00007ffe9fe627c8 EFLAGS: 00000202 ORIG_RAX: 0000000000000110
RAX: ffffffffffffffda RBX: 00007ff6f7658f40 RCX: 00007ff6f74a26f7
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000040000000
RBP: 00007ff6f7659a38 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000202 R12: 000000000000000c
R13: 0000000000000003 R14: 0000000000000009 R15: 0000000000000000
 </TASK>
INFO: task syz-executor:4030 blocked for more than 144 seconds.
      Not tainted 5.15.167-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor    state:D stack:24512 pid: 4030 ppid:     1 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
 schedule_preempt_disabled+0xf/0x20 kernel/sched/core.c:6515
 __mutex_lock_common+0xe34/0x25a0 kernel/locking/mutex.c:669
 __mutex_lock kernel/locking/mutex.c:729 [inline]
 mutex_lock_nested+0x17/0x20 kernel/locking/mutex.c:743
 devlink_pernet_pre_exit+0xb1/0x350 net/core/devlink.c:11534
 ops_pre_exit_list net/core/net_namespace.c:162 [inline]
 setup_net+0x651/0x9e0 net/core/net_namespace.c:349
 copy_net_ns+0x392/0x5d0 net/core/net_namespace.c:476
 create_new_namespaces+0x425/0x7a0 kernel/nsproxy.c:110
 unshare_nsproxy_namespaces+0x11e/0x170 kernel/nsproxy.c:226
 ksys_unshare+0x580/0xb20 kernel/fork.c:3101
 __do_sys_unshare kernel/fork.c:3175 [inline]
 __se_sys_unshare kernel/fork.c:3173 [inline]
 __x64_sys_unshare+0x34/0x40 kernel/fork.c:3173
 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:0x7fa2cf68a6f7
RSP: 002b:00007ffe148ad208 EFLAGS: 00000206 ORIG_RAX: 0000000000000110
RAX: ffffffffffffffda RBX: 00007fa2cf840f40 RCX: 00007fa2cf68a6f7
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000040000000
RBP: 00007fa2cf841a38 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000206 R12: 000000000000000c
R13: 0000000000000003 R14: 0000000000000009 R15: 0000000000000000
 </TASK>

Showing all locks held in the system:
2 locks held by kworker/1:0/21:
 #0: ffff888017072138 ((wq_completion)rcu_gp){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
 #1: ffffc90000db7d20 ((work_completion)(&rew.rew_work)){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
1 lock held by khungtaskd/27:
 #0: ffffffff8c91fc60 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x0/0x30
1 lock held by dhcpcd/3239:
 #0: ffffffff8da31d88 (rtnl_mutex){+.+.}-{3:3}, at: __netlink_dump_start+0x12e/0x6d0 net/netlink/af_netlink.c:2348
2 locks held by getty/3328:
 #0: ffff88814b5fb098 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x21/0x70 drivers/tty/tty_ldisc.c:252
 #1: ffffc9000209b2e8 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x6af/0x1db0 drivers/tty/n_tty.c:2158
3 locks held by kworker/u4:4/3611:
 #0: ffff888017079138 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
 #1: ffffc90003277d20 ((linkwatch_work).work){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
 #2: ffffffff8da31d88 (rtnl_mutex){+.+.}-{3:3}, at: linkwatch_event+0xa/0x50 net/core/link_watch.c:251
3 locks held by kworker/1:5/3617:
 #0: ffff888017070938 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
 #1: ffffc900032d7d20 (deferred_process_work){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
 #2: ffffffff8da31d88 (rtnl_mutex){+.+.}-{3:3}, at: switchdev_deferred_process_work+0xa/0x20 net/switchdev/switchdev.c:74
6 locks held by kworker/u4:5/3620:
 #0: ffff8880171d5938 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
 #1: ffffc900032f7d20 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
 #2: ffffffff8da261d0 (pernet_ops_rwsem){++++}-{3:3}, at: cleanup_net+0xf1/0xb60 net/core/net_namespace.c:561
 #3: ffffffff8da57428 (devlink_mutex){+.+.}-{3:3}, at: devlink_pernet_pre_exit+0xb1/0x350 net/core/devlink.c:11534
 #4: ffff888023a72658 (&nsim_bus_dev->nsim_bus_reload_lock){+.+.}-{3:3}, at: nsim_dev_reload_up+0xbe/0x970 drivers/net/netdevsim/dev.c:897
 #5: ffffffff8da31d88 (rtnl_mutex){+.+.}-{3:3}, at: devlink_nl_port_fill+0x2ab/0x930 net/core/devlink.c:995
2 locks held by syz-executor/4013:
 #0: ffffffff8da261d0 (pernet_ops_rwsem){++++}-{3:3}, at: copy_net_ns+0x378/0x5d0 net/core/net_namespace.c:472
 #1: ffffffff8c924130 (rcu_state.barrier_mutex){+.+.}-{3:3}, at: rcu_barrier+0x9c/0x4e0 kernel/rcu/tree.c:4039
2 locks held by syz-executor/4017:
 #0: ffffffff8da261d0 (pernet_ops_rwsem){++++}-{3:3}, at: copy_net_ns+0x378/0x5d0 net/core/net_namespace.c:472
 #1: ffffffff8da57428 (devlink_mutex){+.+.}-{3:3}, at: devlink_pernet_pre_exit+0xb1/0x350 net/core/devlink.c:11534
2 locks held by syz-executor/4030:
 #0: ffffffff8da261d0 (pernet_ops_rwsem){++++}-{3:3}, at: copy_net_ns+0x378/0x5d0 net/core/net_namespace.c:472
 #1: ffffffff8da57428 (devlink_mutex){+.+.}-{3:3}, at: devlink_pernet_pre_exit+0xb1/0x350 net/core/devlink.c:11534
2 locks held by syz-executor/4088:
 #0: ffffffff8da261d0 (pernet_ops_rwsem){++++}-{3:3}, at: copy_net_ns+0x378/0x5d0 net/core/net_namespace.c:472
 #1: ffffffff8da57428 (devlink_mutex){+.+.}-{3:3}, at: devlink_pernet_pre_exit+0xb1/0x350 net/core/devlink.c:11534
1 lock held by syz-executor/4107:
 #0: ffffffff8c924130 (rcu_state.barrier_mutex){+.+.}-{3:3}, at: rcu_barrier+0x9c/0x4e0 kernel/rcu/tree.c:4039
2 locks held by syz-executor/4113:
 #0: ffffffff8da31d88 (rtnl_mutex){+.+.}-{3:3}, at: tun_detach drivers/net/tun.c:699 [inline]
 #0: ffffffff8da31d88 (rtnl_mutex){+.+.}-{3:3}, at: tun_chr_close+0x3a/0x1b0 drivers/net/tun.c:3440
 #1: ffffffff8c924228 (rcu_state.exp_mutex){+.+.}-{3:3}, at: exp_funnel_lock kernel/rcu/tree_exp.h:290 [inline]
 #1: ffffffff8c924228 (rcu_state.exp_mutex){+.+.}-{3:3}, at: synchronize_rcu_expedited+0x280/0x740 kernel/rcu/tree_exp.h:845
1 lock held by syz-executor/4122:
 #0: ffffffff8c924228 (rcu_state.exp_mutex){+.+.}-{3:3}, at: exp_funnel_lock kernel/rcu/tree_exp.h:322 [inline]
 #0: ffffffff8c924228 (rcu_state.exp_mutex){+.+.}-{3:3}, at: synchronize_rcu_expedited+0x350/0x740 kernel/rcu/tree_exp.h:845
2 locks held by syz-executor/4123:
2 locks held by syz-executor/4149:
 #0: ffffffff8da261d0 (pernet_ops_rwsem){++++}-{3:3}, at: copy_net_ns+0x378/0x5d0 net/core/net_namespace.c:472
 #1: ffffffff8da31d88 (rtnl_mutex){+.+.}-{3:3}, at: ip_tunnel_init_net+0x20f/0x700 net/ipv4/ip_tunnel.c:1096
2 locks held by syz-executor/4160:
 #0: ffffffff8da261d0 (pernet_ops_rwsem){++++}-{3:3}, at: copy_net_ns+0x378/0x5d0 net/core/net_namespace.c:472
 #1: ffffffff8da31d88 (rtnl_mutex){+.+.}-{3:3}, at: ip_tunnel_init_net+0x20f/0x700 net/ipv4/ip_tunnel.c:1096
2 locks held by syz-executor/4166:
 #0: ffffffff8da261d0 (pernet_ops_rwsem){++++}-{3:3}, at: copy_net_ns+0x378/0x5d0 net/core/net_namespace.c:472
 #1: ffffffff8da31d88 (rtnl_mutex){+.+.}-{3:3}, at: ip_tunnel_init_net+0x20f/0x700 net/ipv4/ip_tunnel.c:1096
1 lock held by syz-executor/4184:
 #0: ffffffff8da31d88 (rtnl_mutex){+.+.}-{3:3}, at: rtnl_lock net/core/rtnetlink.c:72 [inline]
 #0: ffffffff8da31d88 (rtnl_mutex){+.+.}-{3:3}, at: rtnetlink_rcv_msg+0x94c/0xee0 net/core/rtnetlink.c:5615
1 lock held by syz-executor/4187:
 #0: ffffffff8da31d88 (rtnl_mutex){+.+.}-{3:3}, at: rtnl_lock net/core/rtnetlink.c:72 [inline]
 #0: ffffffff8da31d88 (rtnl_mutex){+.+.}-{3:3}, at: rtnetlink_rcv_msg+0x94c/0xee0 net/core/rtnetlink.c:5615

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

NMI backtrace for cpu 1
CPU: 1 PID: 27 Comm: khungtaskd Not tainted 5.15.167-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/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: 4123 Comm: syz-executor Not tainted 5.15.167-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024
RIP: 0010:__lock_release kernel/locking/lockdep.c:5330 [inline]
RIP: 0010:lock_release+0x343/0x9a0 kernel/locking/lockdep.c:5643
Code: 00 4c 89 f2 4d 8b 37 48 81 c3 e0 0a 00 00 48 89 d8 48 c1 e8 03 42 80 3c 20 00 74 0e 48 89 df 49 89 d7 e8 60 4e 67 00 4c 89 fa <4c> 89 33 3b 54 24 44 0f 84 46 02 00 00 ff c2 48 8b 7c 24 18 48 8b
RSP: 0018:ffffc90000007b60 EFLAGS: 00000046
RAX: 1ffff11003c8515c RBX: ffff88801e428ae0 RCX: ffffc90000007b03
RDX: 0000000000000000 RSI: ffff88801e428ae8 RDI: ffff88801e428af0
RBP: ffffc90000007ca0 R08: dffffc0000000000 R09: fffffbfff1bd2c16
R10: 0000000000000000 R11: dffffc0000000001 R12: dffffc0000000000
R13: 00000000000c4bb8 R14: ffffffffffffffff R15: ffff88801e428af0
FS:  0000000000000000(0000) GS:ffff8880b9000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000560922052680 CR3: 000000002892c000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <NMI>
 </NMI>
 <IRQ>
 __raw_spin_unlock include/linux/spinlock_api_smp.h:150 [inline]
 _raw_spin_unlock+0x12/0x40 kernel/locking/spinlock.c:186
 spin_unlock include/linux/spinlock.h:403 [inline]
 advance_sched+0x68b/0x940 net/sched/sch_taprio.c:765
 __run_hrtimer kernel/time/hrtimer.c:1688 [inline]
 __hrtimer_run_queues+0x598/0xcf0 kernel/time/hrtimer.c:1752
 hrtimer_interrupt+0x392/0x980 kernel/time/hrtimer.c:1814
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1085 [inline]
 __sysvec_apic_timer_interrupt+0x139/0x470 arch/x86/kernel/apic/apic.c:1102
 sysvec_apic_timer_interrupt+0x8c/0xb0 arch/x86/kernel/apic/apic.c:1096
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:unwind_next_frame+0x13ad/0x1fa0 arch/x86/kernel/unwind_orc.c:609
Code: 00 00 00 00 00 fc ff df 49 39 ee 0f 87 99 00 00 00 48 8b 03 48 39 e8 0f 86 8d 00 00 00 48 8d 4d 08 4c 39 f1 0f 86 80 00 00 00 <48> 39 c1 77 7b 48 3b 6c 24 78 77 74 49 8d 5f 28 48 89 d8 48 c1 e8
RSP: 0018:ffffc90002de73a8 EFLAGS: 00000206
RAX: ffffc90002de8000 RBX: ffffc90002de7470 RCX: ffffc90002de7f60
RDX: dffffc0000000000 RSI: ffffc90002de7f48 RDI: ffffc90002de7468
RBP: ffffc90002de7f58 R08: ffffc90002de7f48 R09: ffffc90002de74b0
R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffffffff1ddd242
R13: 1ffffffff1ddd242 R14: ffffc90002de0000 R15: ffffc90002de7460
 arch_stack_walk+0x10d/0x140 arch/x86/kernel/stacktrace.c:25
 stack_trace_save+0x113/0x1c0 kernel/stacktrace.c:122
 save_stack+0xf6/0x1e0 mm/page_owner.c:119
 __reset_page_owner+0x52/0x180 mm/page_owner.c:140
 reset_page_owner include/linux/page_owner.h:24 [inline]
 free_pages_prepare mm/page_alloc.c:1340 [inline]
 free_pcp_prepare mm/page_alloc.c:1391 [inline]
 free_unref_page_prepare+0xc34/0xcf0 mm/page_alloc.c:3317
 free_unref_page+0x95/0x2d0 mm/page_alloc.c:3396
 __vunmap+0x8d4/0xa20 mm/vmalloc.c:2621
 kcov_put kernel/kcov.c:417 [inline]
 kcov_close+0x27/0x50 kernel/kcov.c:519
 __fput+0x3fe/0x8e0 fs/file_table.c:280
 task_work_run+0x129/0x1a0 kernel/task_work.c:188
 exit_task_work include/linux/task_work.h:33 [inline]
 do_exit+0x6a3/0x2480 kernel/exit.c:874
 do_group_exit+0x144/0x310 kernel/exit.c:996
 get_signal+0xc66/0x14e0 kernel/signal.c:2897
 arch_do_signal_or_restart+0xc3/0x1890 arch/x86/kernel/signal.c:867
 handle_signal_work kernel/entry/common.c:154 [inline]
 exit_to_user_mode_loop+0x97/0x130 kernel/entry/common.c:178
 exit_to_user_mode_prepare+0xb1/0x140 kernel/entry/common.c:214
 __syscall_exit_to_user_mode_work kernel/entry/common.c:296 [inline]
 syscall_exit_to_user_mode+0x5d/0x240 kernel/entry/common.c:307
 do_syscall_64+0x47/0xb0 arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7f953f2a6d8c
Code: Unable to access opcode bytes at RIP 0x7f953f2a6d62.
RSP: 002b:00007ffd56cdd090 EFLAGS: 00000293 ORIG_RAX: 000000000000002c
RAX: 0000000000000028 RBX: 00007f953ff8b620 RCX: 00007f953f2a6d8c
RDX: 0000000000000028 RSI: 00007f953ff8b670 RDI: 0000000000000003
RBP: 0000000000000000 R08: 00007ffd56cdd0e4 R09: 000000000000000c
R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000003
R13: 0000000000000000 R14: 00007f953ff8b670 R15: 0000000000000000
 </TASK>

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