Hello,
syzbot found the following issue on:
HEAD commit: e617101e5626 Linux 6.6.110
git tree: linux-6.6.y
console output:
https://syzkaller.appspot.com/x/log.txt?x=106da458580000
kernel config:
https://syzkaller.appspot.com/x/.config?x=12606d4b8832c7e4
dashboard link:
https://syzkaller.appspot.com/bug?extid=2fa94f75fd3eb31750c0
compiler: Debian clang version 20.1.8 (++20250708063551+0c9f909b7976-1~exp1~20250708183702.136), Debian LLD 20.1.8
Unfortunately, I don't have any reproducer for this issue yet.
Downloadable assets:
disk image:
https://storage.googleapis.com/syzbot-assets/5e096b5ec298/disk-e617101e.raw.xz
vmlinux:
https://storage.googleapis.com/syzbot-assets/074307bb1464/vmlinux-e617101e.xz
kernel image:
https://storage.googleapis.com/syzbot-assets/68e0d6ffb47c/bzImage-e617101e.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by:
syzbot+2fa94f...@syzkaller.appspotmail.com
INFO: task syz.0.5595:18112 blocked for more than 143 seconds.
Not tainted syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz.0.5595 state:D stack:27912 pid:18112 ppid:5788 flags:0x00004004
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5380 [inline]
__schedule+0x14d2/0x44d0 kernel/sched/core.c:6699
schedule+0xbd/0x170 kernel/sched/core.c:6773
schedule_timeout+0x9b/0x280 kernel/time/timer.c:2143
___down_common kernel/locking/semaphore.c:229 [inline]
__down_common+0x308/0x640 kernel/locking/semaphore.c:250
down+0x80/0xd0 kernel/locking/semaphore.c:64
console_lock+0x145/0x1b0 kernel/printk/printk.c:2686
do_fb_ioctl+0x57e/0x740 drivers/video/fbdev/core/fb_chrdev.c:86
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:871 [inline]
__se_sys_ioctl+0xfd/0x170 fs/ioctl.c:857
do_syscall_x64 arch/x86/entry/common.c:51 [inline]
do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:81
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7fa7cfb8eec9
RSP: 002b:00007fa7d0a1b038 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007fa7cfde5fa0 RCX: 00007fa7cfb8eec9
RDX: 0000200000000100 RSI: 0000000000004601 RDI: 0000000000000003
RBP: 00007fa7cfc11f91 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fa7cfde6038 R14: 00007fa7cfde5fa0 R15: 00007ffcc8baa9f8
</TASK>
Showing all locks held in the system:
1 lock held by kthreadd/2:
1 lock held by pool_workqueue_/3:
#0: ffffffff8cd358f8 (rcu_state.exp_mutex){+.+.}-{3:3}, at: exp_funnel_lock kernel/rcu/tree_exp.h:292 [inline]
#0: ffffffff8cd358f8 (rcu_state.exp_mutex){+.+.}-{3:3}, at: synchronize_rcu_expedited+0x448/0x830 kernel/rcu/tree_exp.h:1004
4 locks held by kworker/0:0/8:
#0: ffff88802d844538 ((wq_completion)wg-kex-wg2#4){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:2609 [inline]
#0: ffff88802d844538 ((wq_completion)wg-kex-wg2#4){+.+.}-{0:0}, at: process_scheduled_works+0x957/0x15b0 kernel/workqueue.c:2711
#1: ffffc900000d7d00 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __ptr = (unsigned long) ((typeof(*((worker))) *)((worker))); (typeof((typeof(*((worker))) *)((worker)))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:2609 [inline]
#1: ffffc900000d7d00 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __ptr = (unsigned long) ((typeof(*((worker))) *)((worker))); (typeof((typeof(*((worker))) *)((worker)))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}-{0:0}, at: process_scheduled_works+0x957/0x15b0 kernel/workqueue.c:2711
#2: ffff888076f3d208 (&wg->static_identity.lock){++++}-{3:3}, at: wg_noise_handshake_consume_initiation+0x151/0x900 drivers/net/wireguard/noise.c:598
#3: ffff888026244df8 (&handshake->lock){++++}-{3:3}, at: wg_noise_handshake_consume_initiation+0x4df/0x900 drivers/net/wireguard/noise.c:632
4 locks held by kworker/u4:1/12:
1 lock held by khungtaskd/29:
#0: ffffffff8cd2ff20 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
#0: ffffffff8cd2ff20 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:786 [inline]
#0: ffffffff8cd2ff20 (rcu_read_lock){....}-{1:2}, at: debug_show_all_locks+0x55/0x290 kernel/locking/lockdep.c:6633
4 locks held by kworker/u4:3/48:
5 locks held by kworker/1:2/786:
2 locks held by kworker/0:2/964:
#0: ffff888017872538 ((wq_completion)rcu_gp){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:2609 [inline]
#0: ffff888017872538 ((wq_completion)rcu_gp){+.+.}-{0:0}, at: process_scheduled_works+0x957/0x15b0 kernel/workqueue.c:2711
#1: ffffc90004037d00 ((work_completion)(&rew->rew_work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:2609 [inline]
#1: ffffc90004037d00 ((work_completion)(&rew->rew_work)){+.+.}-{0:0}, at: process_scheduled_works+0x957/0x15b0 kernel/workqueue.c:2711
4 locks held by kworker/u4:8/2962:
3 locks held by kworker/R-bat_e/3380:
4 locks held by kworker/u4:10/3477:
#0: ffff88801afc7938 ((wq_completion)wg-kex-wg1){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:2609 [inline]
#0: ffff88801afc7938 ((wq_completion)wg-kex-wg1){+.+.}-{0:0}, at: process_scheduled_works+0x957/0x15b0 kernel/workqueue.c:2711
#1: ffffc9000c837d00 ((work_completion)(&peer->transmit_handshake_work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:2609 [inline]
#1: ffffc9000c837d00 ((work_completion)(&peer->transmit_handshake_work)){+.+.}-{0:0}, at: process_scheduled_works+0x957/0x15b0 kernel/workqueue.c:2711
#2: ffff88802f709208 (&wg->static_identity.lock){++++}-{3:3}, at: wg_noise_handshake_create_initiation+0x10b/0x7e0 drivers/net/wireguard/noise.c:529
#3: ffff8880262415e8 (&handshake->lock){++++}-{3:3}, at: wg_noise_handshake_create_initiation+0x11c/0x7e0 drivers/net/wireguard/noise.c:530
4 locks held by kworker/u4:11/3500:
2 locks held by klogd/5149:
2 locks held by udevd/5160:
2 locks held by dhcpcd/5454:
2 locks held by dhcpcd/5455:
3 locks held by crond/5534:
2 locks held by getty/5552:
#0: ffff8880307d20a0 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x25/0x70 drivers/tty/tty_ldisc.c:243
#1: ffffc9000326e2f0 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x425/0x1380 drivers/tty/n_tty.c:2217
1 lock held by syz-executor/5778:
1 lock held by syz-executor/5793:
5 locks held by syz-executor/5792:
4 locks held by kworker/1:3/5837:
2 locks held by kworker/1:5/5858:
3 locks held by kworker/0:5/5879:
#0: ffff88801afc6d38 ((wq_completion)wg-kex-wg1#2){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:2609 [inline]
#0: ffff88801afc6d38 ((wq_completion)wg-kex-wg1#2){+.+.}-{0:0}, at: process_scheduled_works+0x957/0x15b0 kernel/workqueue.c:2711
#1: ffffc90004a2fd00 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __ptr = (unsigned long) ((typeof(*((worker))) *)((worker))); (typeof((typeof(*((worker))) *)((worker)))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:2609 [inline]
#1: ffffc90004a2fd00 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __ptr = (unsigned long) ((typeof(*((worker))) *)((worker))); (typeof((typeof(*((worker))) *)((worker)))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}-{0:0}, at: process_scheduled_works+0x957/0x15b0 kernel/workqueue.c:2711
#2: ffff8880262415e8 (&handshake->lock){++++}-{3:3}, at: wg_noise_handshake_begin_session+0x36/0xbd0 drivers/net/wireguard/noise.c:822
2 locks held by kworker/1:6/5884:
4 locks held by kworker/u4:14/8226:
4 locks held by kworker/u4:18/8237:
4 locks held by kworker/u4:20/8243:
4 locks held by kworker/0:3/14665:
2 locks held by syz.1.5592/18106:
4 locks held by kworker/u4:0/18113:
3 locks held by kworker/u4:2/18114:
4 locks held by kworker/u4:4/18115:
#0: ffff88802d844138 ((wq_completion)wg-kex-wg2#3){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:2609 [inline]
#0: ffff88802d844138 ((wq_completion)wg-kex-wg2#3){+.+.}-{0:0}, at: process_scheduled_works+0x957/0x15b0 kernel/workqueue.c:2711
#1: ffffc900044efd00 ((work_completion)(&peer->transmit_handshake_work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:2609 [inline]
#1: ffffc900044efd00 ((work_completion)(&peer->transmit_handshake_work)){+.+.}-{0:0}, at: process_scheduled_works+0x957/0x15b0 kernel/workqueue.c:2711
#2: ffff888076f3d208 (&wg->static_identity.lock){++++}-{3:3}, at: wg_noise_handshake_create_initiation+0x10b/0x7e0 drivers/net/wireguard/noise.c:529
#3: ffff888026244df8 (&handshake->lock){++++}-{3:3}, at: wg_noise_handshake_create_initiation+0x11c/0x7e0 drivers/net/wireguard/noise.c:530
3 locks held by kworker/u4:5/18116:
=============================================
NMI backtrace for cpu 0
CPU: 0 PID: 29 Comm: khungtaskd Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025
Call Trace:
<TASK>
dump_stack_lvl+0x16c/0x230 lib/dump_stack.c:106
nmi_cpu_backtrace+0x39b/0x3d0 lib/nmi_backtrace.c:113
nmi_trigger_cpumask_backtrace+0x17a/0x2f0 lib/nmi_backtrace.c:62
trigger_all_cpu_backtrace include/linux/nmi.h:160 [inline]
check_hung_uninterruptible_tasks kernel/hung_task.c:222 [inline]
watchdog+0xf41/0xf80 kernel/hung_task.c:379
kthread+0x2fa/0x390 kernel/kthread.c:388
ret_from_fork+0x48/0x80 arch/x86/kernel/process.c:152
ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:293
</TASK>
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 3380 Comm: kworker/R-bat_e Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025
Workqueue: bat_events batadv_tt_purge
RIP: 0010:__sanitizer_cov_trace_switch+0x100/0x120 kernel/kcov.c:-1
Code: f3 48 c1 e3 05 4c 8d 63 28 4d 39 fc 77 9d 49 ff c6 4d 89 33 49 89 4c 1b 08 4d 89 54 1b 10 49 89 7c 1b 18 49 89 54 1b 20 eb 81 <5b> 41 5c 41 5e 41 5f c3 b9 05 00 00 00 48 85 c0 0f 85 52 ff ff ff
RSP: 0018:ffffc900001efa30 EFLAGS: 00000246
RAX: 0000000000000002 RBX: ffffffff8ecdeb6e RCX: 0000000000000003
RDX: ffffffff813aa915 RSI: ffffffff8cb9e740 RDI: 0000000000000002
RBP: ffffc900001efb78 R08: ffff88802cb11e00 R09: 0000000000000002
R10: 0000000000000001 R11: 0000000000000100 R12: ffffc900001efb28
R13: dffffc0000000000 R14: 0000000000000002 R15: ffffffff8ecdeb73
FS: 0000000000000000(0000) GS:ffff8880b8f00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f6a8ba00000 CR3: 000000002e2c7000 CR4: 00000000003506e0
Call Trace:
<IRQ>
unwind_next_frame+0x655/0x2970 arch/x86/kernel/unwind_orc.c:505
arch_stack_walk+0x144/0x190 arch/x86/kernel/stacktrace.c:25
stack_trace_save+0x9c/0xe0 kernel/stacktrace.c:122
kasan_save_stack mm/kasan/common.c:45 [inline]
kasan_set_track+0x4e/0x70 mm/kasan/common.c:52
__kasan_slab_alloc+0x6c/0x80 mm/kasan/common.c:328
kasan_slab_alloc include/linux/kasan.h:188 [inline]
slab_post_alloc_hook+0x6e/0x4d0 mm/slab.h:767
slab_alloc_node mm/slub.c:3495 [inline]
slab_alloc mm/slub.c:3503 [inline]
__kmem_cache_alloc_lru mm/slub.c:3510 [inline]
kmem_cache_alloc+0x11e/0x2e0 mm/slub.c:3519
skb_ext_maybe_cow net/core/skbuff.c:6658 [inline]
skb_ext_add+0x1b3/0x8e0 net/core/skbuff.c:6732
nf_bridge_unshare net/bridge/br_netfilter_hooks.c:165 [inline]
br_nf_forward_ip+0xc6/0x1110 net/bridge/br_netfilter_hooks.c:709
nf_hook_entry_hookfn include/linux/netfilter.h:144 [inline]
nf_hook_slow+0xbd/0x200 net/netfilter/core.c:626
nf_hook include/linux/netfilter.h:259 [inline]
NF_HOOK+0x213/0x3d0 include/linux/netfilter.h:302
__br_forward+0x41f/0x600 net/bridge/br_forward.c:115
deliver_clone net/bridge/br_forward.c:131 [inline]
maybe_deliver+0xb5/0x150 net/bridge/br_forward.c:190
br_flood+0x31b/0x680 net/bridge/br_forward.c:236
br_handle_frame_finish+0x144f/0x1920 net/bridge/br_input.c:215
br_nf_hook_thresh+0x3b6/0x480 net/bridge/br_netfilter_hooks.c:1184
br_nf_pre_routing_finish_ipv6+0x9e3/0xd90 net/bridge/br_netfilter_ipv6.c:-1
NF_HOOK include/linux/netfilter.h:304 [inline]
br_nf_pre_routing_ipv6+0x34d/0x680 net/bridge/br_netfilter_ipv6.c:184
nf_hook_entry_hookfn include/linux/netfilter.h:144 [inline]
nf_hook_bridge_pre net/bridge/br_input.c:277 [inline]
br_handle_frame+0x96b/0x1480 net/bridge/br_input.c:424
__netif_receive_skb_core+0xf6b/0x3ac0 net/core/dev.c:5502
__netif_receive_skb_one_core net/core/dev.c:5606 [inline]
__netif_receive_skb+0x74/0x290 net/core/dev.c:5722
process_backlog+0x380/0x6e0 net/core/dev.c:6050
__napi_poll+0xc0/0x460 net/core/dev.c:6612
napi_poll net/core/dev.c:6679 [inline]
net_rx_action+0x5ea/0xbf0 net/core/dev.c:6815
handle_softirqs+0x280/0x820 kernel/softirq.c:578
do_softirq+0xed/0x180 kernel/softirq.c:479
</IRQ>
<TASK>
__local_bh_enable_ip+0x178/0x1c0 kernel/softirq.c:406
spin_unlock_bh include/linux/spinlock.h:396 [inline]
batadv_tt_global_purge net/batman-adv/translation-table.c:2314 [inline]
batadv_tt_purge+0x4d8/0x9f0 net/batman-adv/translation-table.c:3583
process_one_work kernel/workqueue.c:2634 [inline]
process_scheduled_works+0xa45/0x15b0 kernel/workqueue.c:2711
rescuer_thread+0x50b/0xbe0 kernel/workqueue.c:2888
kthread+0x2fa/0x390 kernel/kthread.c:388
ret_from_fork+0x48/0x80 arch/x86/kernel/process.c:152
ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:293
</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