possible deadlock in __dev_queue_xmit (4)

Status: upstream: reported C repro on 2026/08/24 18:32
Reported-by: syzbot+cd266a6fcd5fc6190b6c@syzkaller.appspotmail.com
First crash: 1d17h, last: 15h30m
Similar bugs (15)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
android-49 possible deadlock in __dev_queue_xmit 4 4 2621d 2691d 0/3 auto-closed as invalid on 2019/10/25 08:36
upstream possible deadlock in __dev_queue_xmit (3) net 4 syz, C done inconclusive 1154 151d 2458d 0/29 upstream: reported C repro on 2019/12/03 09:55
linux-6.6 possible deadlock in __dev_queue_xmit 4 1 200d 200d 0/2 auto-obsoleted due to no activity on 2026/05/18 03:49
linux-4.19 possible deadlock in __dev_queue_xmit 4 syz, C error 5 1799d 2217d 0/1 upstream: reported C repro on 2020/07/31 07:05
android-414 possible deadlock in __dev_queue_xmit 4 3 2680d 2691d 0/1 auto-closed as invalid on 2019/10/21 21:31
linux-6.1 possible deadlock in __dev_queue_xmit (3) 4 104 369d 670d 0/3 auto-obsoleted due to no activity on 2025/10/30 22:15
android-44 possible deadlock in __dev_queue_xmit 4 14 2457d 2518d 0/2 auto-closed as invalid on 2020/04/02 07:14
linux-6.1 possible deadlock in __dev_queue_xmit 4 98 1041d 1154d 0/3 auto-obsoleted due to no activity on 2023/12/28 22:22
linux-4.14 possible deadlock in __dev_queue_xmit 4 7 2167d 2612d 0/1 auto-closed as invalid on 2021/01/16 21:33
upstream possible deadlock in __dev_queue_xmit net 4 1 2779d 2779d 0/29 closed as invalid on 2019/03/10 18:51
linux-5.15 possible deadlock in __dev_queue_xmit 4 113 1106d 1241d 0/3 auto-obsoleted due to no activity on 2023/10/25 04:56
linux-6.1 possible deadlock in __dev_queue_xmit (2) 4 7 840d 949d 0/3 auto-obsoleted due to no activity on 2024/08/16 05:44
linux-5.15 possible deadlock in __dev_queue_xmit (2) origin:lts-only 4 syz, C done 214 1d01h 985d 0/3 upstream: reported C repro on 2023/12/15 02:11
upstream possible deadlock in __dev_queue_xmit (2) kernel 4 2 2592d 2707d 0/29 auto-closed as invalid on 2019/11/19 09:01
linux-6.6 possible deadlock in __dev_queue_xmit (2) 4 12 14h54m 1d17h 0/2 upstream: reported on 2026/08/24 18:29

Sample crash report:
device syzkaller0 entered promiscuous mode
============================================
WARNING: possible recursive locking detected
syzkaller #0 Not tainted
--------------------------------------------
syz.0.17/4511 is trying to acquire lock:
ffff0000d8e98108 (&sch->root_lock_key#51){+...}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline]
ffff0000d8e98108 (&sch->root_lock_key#51){+...}-{2:2}, at: __dev_xmit_skb net/core/dev.c:3964 [inline]
ffff0000d8e98108 (&sch->root_lock_key#51){+...}-{2:2}, at: __dev_queue_xmit+0x998/0x3154 net/core/dev.c:4337

but task is already holding lock:
ffff0000d8e98108 (&sch->root_lock_key#51){+...}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline]
ffff0000d8e98108 (&sch->root_lock_key#51){+...}-{2:2}, at: __dev_xmit_skb net/core/dev.c:3964 [inline]
ffff0000d8e98108 (&sch->root_lock_key#51){+...}-{2:2}, at: __dev_queue_xmit+0x998/0x3154 net/core/dev.c:4337

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(&sch->root_lock_key#51);
  lock(&sch->root_lock_key#51);

 *** DEADLOCK ***

 May be due to missing lock nesting notation

3 locks held by syz.0.17/4511:
 #0: ffff8000155674a0 (rcu_read_lock_bh){....}-{1:2}, at: rcu_lock_acquire+0x18/0x54 include/linux/rcupdate.h:349
 #1: ffff0000d8e98108 (&sch->root_lock_key#51){+...}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline]
 #1: ffff0000d8e98108 (&sch->root_lock_key#51){+...}-{2:2}, at: __dev_xmit_skb net/core/dev.c:3964 [inline]
 #1: ffff0000d8e98108 (&sch->root_lock_key#51){+...}-{2:2}, at: __dev_queue_xmit+0x998/0x3154 net/core/dev.c:4337
 #2: ffff8000155674a0 (rcu_read_lock_bh){....}-{1:2}, at: rcu_lock_acquire+0x18/0x54 include/linux/rcupdate.h:349

stack backtrace:
CPU: 1 PID: 4511 Comm: syz.0.17 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/07/2026
Call trace:
 dump_backtrace+0x1c4/0x1f0 arch/arm64/kernel/stacktrace.c:158
 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165
 __dump_stack+0x30/0x40 lib/dump_stack.c:88
 dump_stack_lvl+0xf4/0x15c lib/dump_stack.c:106
 dump_stack+0x1c/0x5c lib/dump_stack.c:113
 __lock_acquire+0x15d0/0x6634 kernel/locking/lockdep.c:-1
 lock_acquire+0x20c/0x638 kernel/locking/lockdep.c:5676
 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline]
 _raw_spin_lock+0x54/0x6c kernel/locking/spinlock.c:154
 spin_lock include/linux/spinlock.h:351 [inline]
 __dev_xmit_skb net/core/dev.c:3964 [inline]
 __dev_queue_xmit+0x998/0x3154 net/core/dev.c:4337
 dev_queue_xmit+0x24/0x34 include/linux/netdevice.h:3051
 sch_frag_xmit_hook+0x228/0xf34 net/sched/sch_frag.c:148
 tcf_dev_queue_xmit+0x4c/0x50 net/sched/act_api.c:36
 tcf_mirred_forward net/sched/act_mirred.c:218 [inline]
 tcf_mirred_act+0xa90/0x1394 net/sched/act_mirred.c:323
 tcf_action_exec+0x164/0x544 net/sched/act_api.c:1098
 tcf_exts_exec include/net/pkt_cls.h:351 [inline]
 basic_classify+0x1ec/0x314 net/sched/cls_basic.c:52
 __tcf_classify net/sched/cls_api.c:1569 [inline]
 tcf_classify+0x1b4/0x9d4 net/sched/cls_api.c:1635
 qfq_classify net/sched/sch_qfq.c:714 [inline]
 qfq_enqueue+0x288/0xf74 net/sched/sch_qfq.c:1238
 dev_qdisc_enqueue+0x5c/0x388 net/core/dev.c:3900
 __dev_xmit_skb net/core/dev.c:3989 [inline]
 __dev_queue_xmit+0xaf0/0x3154 net/core/dev.c:4337
 dev_queue_xmit+0x24/0x34 include/linux/netdevice.h:3051
 packet_snd net/packet/af_packet.c:3137 [inline]
 packet_sendmsg+0x3034/0x4038 net/packet/af_packet.c:3168
 sock_sendmsg_nosec net/socket.c:718 [inline]
 __sock_sendmsg net/socket.c:730 [inline]
 ____sys_sendmsg+0x588/0x90c net/socket.c:2519
 ___sys_sendmsg net/socket.c:2573 [inline]
 __sys_sendmsg+0x288/0x374 net/socket.c:2602
 __do_sys_sendmsg net/socket.c:2611 [inline]
 __se_sys_sendmsg net/socket.c:2609 [inline]
 __arm64_sys_sendmsg+0x80/0x94 net/socket.c:2609
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall+0x98/0x290 arch/arm64/kernel/syscall.c:52
 el0_svc_common+0x13c/0x258 arch/arm64/kernel/syscall.c:140
 do_el0_svc+0x5c/0x134 arch/arm64/kernel/syscall.c:204
 el0_svc+0x58/0x128 arch/arm64/kernel/entry-common.c:637
 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585

Crashes (31):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/24 21:54 linux-6.1.y 05208478041c b55bd4c3 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in __dev_queue_xmit
2026/08/24 20:39 linux-6.1.y 05208478041c b55bd4c3 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in __dev_queue_xmit
2026/08/25 20:38 linux-6.1.y 05208478041c a9a1fc32 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __dev_queue_xmit
2026/08/25 20:36 linux-6.1.y 05208478041c a9a1fc32 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __dev_queue_xmit
2026/08/25 20:36 linux-6.1.y 05208478041c a9a1fc32 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __dev_queue_xmit
2026/08/25 20:36 linux-6.1.y 05208478041c a9a1fc32 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __dev_queue_xmit
2026/08/25 11:13 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __dev_queue_xmit
2026/08/25 11:13 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __dev_queue_xmit
2026/08/25 10:14 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __dev_queue_xmit
2026/08/25 10:14 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __dev_queue_xmit
2026/08/25 08:22 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __dev_queue_xmit
2026/08/25 08:22 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __dev_queue_xmit
2026/08/25 05:59 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __dev_queue_xmit
2026/08/25 05:59 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __dev_queue_xmit
2026/08/24 19:15 linux-6.1.y 05208478041c b55bd4c3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in __dev_queue_xmit
2026/08/25 08:44 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in __dev_queue_xmit
2026/08/25 08:43 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in __dev_queue_xmit
2026/08/25 08:41 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in __dev_queue_xmit
2026/08/25 08:39 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in __dev_queue_xmit
2026/08/25 07:30 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in __dev_queue_xmit
2026/08/25 07:30 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in __dev_queue_xmit
2026/08/25 07:13 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in __dev_queue_xmit
2026/08/25 07:13 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in __dev_queue_xmit
2026/08/25 06:34 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in __dev_queue_xmit
2026/08/25 06:33 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in __dev_queue_xmit
2026/08/25 06:32 linux-6.1.y 05208478041c 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in __dev_queue_xmit
2026/08/24 21:14 linux-6.1.y 05208478041c b55bd4c3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in __dev_queue_xmit
2026/08/24 21:12 linux-6.1.y 05208478041c b55bd4c3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in __dev_queue_xmit
2026/08/24 18:34 linux-6.1.y 05208478041c b55bd4c3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in __dev_queue_xmit
2026/08/24 18:33 linux-6.1.y 05208478041c b55bd4c3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in __dev_queue_xmit
2026/08/24 18:31 linux-6.1.y 05208478041c b55bd4c3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in __dev_queue_xmit
* Struck through repros no longer work on HEAD.