KASAN: slab-use-after-free Read in netdev_nl_queue_fill_one

Status: internal: reported on 2026/08/08 00:05
Subsystems: net
Labels: prio:normal
[Documentation on labels]
Fix commit: 07e98a4d5e9c netdevsim: update queue NAPI association on queue reset
Patched on: [ci-qemu-gce-upstream-auto ci-qemu-upstream ci-qemu-upstream-386 ci-snapshot-upstream-root ci-upstream-bpf-kasan-gce ci-upstream-bpf-next-kasan-gce ci-upstream-gce-arm64 ci-upstream-gce-leak ci-upstream-kasan-badwrites-root ci-upstream-kasan-gce ci-upstream-kasan-gce-386 ci-upstream-kasan-gce-root ci-upstream-kasan-gce-selinux-root ci-upstream-kasan-gce-smack-root ci-upstream-linux-next-kasan-gce-root ci-upstream-net-kasan-gce ci-upstream-net-this-kasan-gce ci-upstream-rust-kasan-gce ci2-upstream-fs ci2-upstream-kcsan-gce ci2-upstream-usb], missing on: [ci-qemu-native-arm64-kvm ci-qemu2-arm32 ci-qemu2-arm64 ci-qemu2-arm64-compat ci-qemu2-arm64-mte ci-qemu2-riscv64 ci-upstream-kmsan-gce-386-root ci-upstream-kmsan-gce-root]
First crash: 31d, last: 13d
✨ AI Jobs (1)
ID Workflow Result Correct Bug Created Started Finished Revision
f6432f75 assessment-security DenialOfService: ❌ Exploitable: ✅ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ❌ UserNamespace: ❌ VMGuestTrigger: ❌ VMHostTrigger: ❌ KASAN: slab-use-after-free Read in netdev_nl_queue_fill_one 2026/08/08 22:53 2026/08/08 22:53 2026/08/08 23:40 5d63f80b

Sample crash report:
==================================================================
BUG: KASAN: slab-use-after-free in nla_put_napi_id net/core/netdev-genl.c:386 [inline]
BUG: KASAN: slab-use-after-free in netdev_nl_queue_fill_one+0x8ea/0x910 net/core/netdev-genl.c:494
BUG: KASAN: slab-use-after-free in nla_put_napi_id net/core/netdev-genl.c:386 [inline]
BUG: KASAN: slab-use-after-free in netdev_nl_queue_fill_one+0x8ea/0x910 net/core/netdev-genl.c:494
Read of size 4 at addr ffff88803f98118c by task syz.0.3869/18699

CPU: 1 UID: 0 PID: 18699 Comm: syz.0.3869 Tainted: G             L      syzkaller #0 PREEMPT_{RT,(full)} 
Tainted: [L]=SOFTLOCKUP
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
 <TASK>
 dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120
 print_address_description+0x55/0x1e0 mm/kasan/report.c:378
 print_report+0x58/0x70 mm/kasan/report.c:482
 kasan_report+0x117/0x150 mm/kasan/report.c:595
 nla_put_napi_id net/core/netdev-genl.c:386 [inline]
 netdev_nl_queue_fill_one+0x8ea/0x910 net/core/netdev-genl.c:494
 netdev_nl_queue_dump_one net/core/netdev-genl.c:603 [inline]
 netdev_nl_queue_get_dumpit+0x31e/0xa20 net/core/netdev-genl.c:641
 genl_dumpit+0x10b/0x1b0 net/netlink/genetlink.c:1026
 netlink_dump+0x711/0xee0 net/netlink/af_netlink.c:2331
 netlink_recvmsg+0x683/0xa50 net/netlink/af_netlink.c:1982
 sock_recvmsg_nosec net/socket.c:1151 [inline]
 sock_recvmsg+0x196/0x1e0 net/socket.c:1173
 __sys_recvfrom+0x230/0x3b0 net/socket.c:2331
 __do_sys_recvfrom net/socket.c:2346 [inline]
 __se_sys_recvfrom net/socket.c:2342 [inline]
 __x64_sys_recvfrom+0xde/0x100 net/socket.c:2342
 do_syscall_x64 arch/x86/entry/syscall_64.c:61 [inline]
 do_syscall_64+0x166/0x520 arch/x86/entry/syscall_64.c:84
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7efe2d01e90e
Code: 08 0f 85 a5 a8 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 80 00 00 00 00 48 83 ec 08
RSP: 002b:00007efe2b2b4e88 EFLAGS: 00000246 ORIG_RAX: 000000000000002d
RAX: ffffffffffffffda RBX: 00007efe2b2b66c0 RCX: 00007efe2d01e90e
RDX: 0000000000001000 RSI: 00007efe2b2b5000 RDI: 0000000000000003
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000003
R13: 00007efe2b2b4f58 R14: 00007efe2b2b5000 R15: 0000000000000000
 </TASK>

Allocated by task 17645:
 kasan_save_stack mm/kasan/common.c:57 [inline]
 kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
 poison_kmalloc_redzone mm/kasan/common.c:398 [inline]
 __kasan_kmalloc+0x93/0xb0 mm/kasan/common.c:415
 kasan_kmalloc include/linux/kasan.h:263 [inline]
 __do_kmalloc_node mm/slub.c:5337 [inline]
 __kvmalloc_node_noprof+0x5c6/0x8a0 mm/slub.c:6900
 compute_subprog_args kernel/bpf/liveness.c:1639 [inline]
 analyze_subprog+0x8ac/0x9e00 kernel/bpf/liveness.c:1882
 bpf_compute_subprog_arg_access+0x2c9/0x14d0 kernel/bpf/liveness.c:2024
 bpf_compute_live_registers+0x8d3/0x1ff0 kernel/bpf/liveness.c:2263
 bpf_check+0x25f6/0x2e20 kernel/bpf/verifier.c:21154
 bpf_prog_load+0x14d6/0x1c20 kernel/bpf/syscall.c:3133
 __sys_bpf+0xd0d/0xd90 kernel/bpf/syscall.c:6367
 __do_sys_bpf kernel/bpf/syscall.c:6486 [inline]
 __se_sys_bpf kernel/bpf/syscall.c:6483 [inline]
 __x64_sys_bpf+0xba/0xd0 kernel/bpf/syscall.c:6483
 do_syscall_x64 arch/x86/entry/syscall_64.c:61 [inline]
 do_syscall_64+0x166/0x520 arch/x86/entry/syscall_64.c:84
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Freed by task 17645:
 kasan_save_stack mm/kasan/common.c:57 [inline]
 kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
 kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:584
 poison_slab_object mm/kasan/common.c:253 [inline]
 __kasan_slab_free+0x5c/0x80 mm/kasan/common.c:285
 kasan_slab_free include/linux/kasan.h:235 [inline]
 slab_free_hook mm/slub.c:2678 [inline]
 slab_free mm/slub.c:6372 [inline]
 kfree+0x1c5/0x6d0 mm/slub.c:6687
 compute_subprog_args kernel/bpf/liveness.c:1752 [inline]
 analyze_subprog+0x681f/0x9e00 kernel/bpf/liveness.c:1882
 bpf_compute_subprog_arg_access+0x2c9/0x14d0 kernel/bpf/liveness.c:2024
 bpf_compute_live_registers+0x8d3/0x1ff0 kernel/bpf/liveness.c:2263
 bpf_check+0x25f6/0x2e20 kernel/bpf/verifier.c:21154
 bpf_prog_load+0x14d6/0x1c20 kernel/bpf/syscall.c:3133
 __sys_bpf+0xd0d/0xd90 kernel/bpf/syscall.c:6367
 __do_sys_bpf kernel/bpf/syscall.c:6486 [inline]
 __se_sys_bpf kernel/bpf/syscall.c:6483 [inline]
 __x64_sys_bpf+0xba/0xd0 kernel/bpf/syscall.c:6483
 do_syscall_x64 arch/x86/entry/syscall_64.c:61 [inline]
 do_syscall_64+0x166/0x520 arch/x86/entry/syscall_64.c:84
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

The buggy address belongs to the object at ffff88803f981000
 which belongs to the cache kmalloc-cg-1k of size 1024
The buggy address is located 396 bytes inside of
 freed 1024-byte region [ffff88803f981000, ffff88803f981400)

The buggy address belongs to the physical page:
page: refcount:0 mapcount:0 mapping:0000000000000000 index:0xffff88803f984000 pfn:0x3f980
head: order:3 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0
memcg:ffff888057fd6901
flags: 0x80000000000240(workingset|head|node=0|zone=1)
page_type: f5(slab)
raw: 0080000000000240 ffff88813ff01280 ffffea0000d29c10 ffffea0000ce5a10
raw: ffff88803f984000 0000000800100009 00000000f5000000 ffff888057fd6901
head: 0080000000000240 ffff88813ff01280 ffffea0000d29c10 ffffea0000ce5a10
head: ffff88803f984000 0000000800100009 00000000f5000000 ffff888057fd6901
head: 0080000000000003 fffffffffffffe01 00000000ffffffff 00000000ffffffff
head: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000008
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 3, migratetype Unmovable, gfp_mask 0xd20c0(__GFP_IO|__GFP_FS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC), pid 5587, tgid 5587 (syz-executor), ts 105447199209
 set_page_owner include/linux/page_owner.h:33 [inline]
 post_alloc_hook+0x1f9/0x250 mm/page_alloc.c:1871
 prep_new_page mm/page_alloc.c:1879 [inline]
 get_page_from_freelist+0x2591/0x2600 mm/page_alloc.c:3943
 __alloc_frozen_pages_noprof+0x230/0x5c0 mm/page_alloc.c:5436
 alloc_slab_page mm/slub.c:3267 [inline]
 allocate_slab+0x7c/0x5e0 mm/slub.c:3382
 new_slab mm/slub.c:3428 [inline]
 refill_objects+0x2d8/0x350 mm/slub.c:7305
 refill_sheaf mm/slub.c:2805 [inline]
 __pcs_replace_empty_main+0x334/0x690 mm/slub.c:4677
 alloc_from_pcs mm/slub.c:4775 [inline]
 slab_alloc_node mm/slub.c:4907 [inline]
 __do_kmalloc_node mm/slub.c:5336 [inline]
 __kmalloc_noprof+0x54c/0x780 mm/slub.c:5362
 _kmalloc_noprof include/linux/slab.h:992 [inline]
 _kzalloc_noprof include/linux/slab.h:1309 [inline]
 __register_sysctl_table+0x6f/0x1370 fs/proc/proc_sysctl.c:1378
 neigh_sysctl_register+0x9b1/0xa90 net/core/neighbour.c:3915
 devinet_sysctl_register+0xad/0x200 net/ipv4/devinet.c:2781
 inetdev_init+0x29e/0x4d0 net/ipv4/devinet.c:291
 inetdev_event+0x307/0x15e0 net/ipv4/devinet.c:1590
 notifier_call_chain+0x1a5/0x3d0 kernel/notifier.c:85
 call_netdevice_notifiers_extack net/core/dev.c:2313 [inline]
 call_netdevice_notifiers net/core/dev.c:2327 [inline]
 register_netdevice+0x18c0/0x1ed0 net/core/dev.c:11541
 nsim_init_netdevsim drivers/net/netdevsim/netdev.c:1070 [inline]
 nsim_create+0xbe9/0x1160 drivers/net/netdevsim/netdev.c:1152
 __nsim_dev_port_add+0x7f8/0xcd0 drivers/net/netdevsim/dev.c:1434
page last free pid 5247 tgid 5247 ts 78135415649 stack trace:
 reset_page_owner include/linux/page_owner.h:26 [inline]
 __free_pages_prepare mm/page_alloc.c:1418 [inline]
 __free_frozen_pages+0xf8e/0x1070 mm/page_alloc.c:2962
 __slab_free+0x252/0x2a0 mm/slub.c:5736
 qlink_free mm/kasan/quarantine.c:163 [inline]
 qlist_free_all+0x99/0x100 mm/kasan/quarantine.c:179
 kasan_quarantine_reduce+0x148/0x160 mm/kasan/quarantine.c:286
 __kasan_slab_alloc+0x22/0x80 mm/kasan/common.c:350
 kasan_slab_alloc include/linux/kasan.h:253 [inline]
 slab_post_alloc_hook mm/slub.c:4586 [inline]
 slab_alloc_node mm/slub.c:4919 [inline]
 __do_kmalloc_node mm/slub.c:5336 [inline]
 __kmalloc_node_track_caller_noprof+0x521/0x7d0 mm/slub.c:5466
 kmalloc_reserve net/core/skbuff.c:637 [inline]
 __alloc_skb+0x2c1/0x7a0 net/core/skbuff.c:715
 alloc_skb include/linux/skbuff.h:1384 [inline]
 alloc_skb_with_frags+0xc6/0x760 net/core/skbuff.c:6775
 sock_alloc_send_pskb+0x884/0x9a0 net/core/sock.c:3012
 unix_dgram_sendmsg+0x4da/0x17b0 net/unix/af_unix.c:2144
 sock_sendmsg_nosec+0x13a/0x180 net/socket.c:800
 __sock_sendmsg net/socket.c:815 [inline]
 __sys_sendto+0x41e/0x5d0 net/socket.c:2281
 __do_sys_sendto net/socket.c:2288 [inline]
 __se_sys_sendto net/socket.c:2284 [inline]
 __x64_sys_sendto+0xde/0x100 net/socket.c:2284
 do_syscall_x64 arch/x86/entry/syscall_64.c:61 [inline]
 do_syscall_64+0x166/0x520 arch/x86/entry/syscall_64.c:84
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Memory state around the buggy address:
 ffff88803f981080: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff88803f981100: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff88803f981180: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
                      ^
 ffff88803f981200: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff88803f981280: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================

Crashes (13):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/22 19:51 upstream 66fb95a52111 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-smack-root KASAN: slab-use-after-free Read in netdev_nl_queue_fill_one
2026/08/19 05:46 upstream 0f23d56f17fd 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root KASAN: slab-use-after-free Read in netdev_nl_queue_fill_one
2026/08/11 14:56 upstream d58772d8520c 37a258dd .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root KASAN: slab-use-after-free Read in netdev_nl_queue_fill_one
2026/08/10 08:34 upstream db2ddb871435 5d63f80b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root KASAN: slab-use-after-free Read in netdev_nl_queue_fill_one
2026/08/07 11:16 upstream 364465ab19de e4ef95d6 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root KASAN: slab-use-after-free Read in netdev_nl_queue_fill_one
2026/08/22 17:55 upstream 818bebeb63dd 1e72964b .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream KASAN: slab-use-after-free Read in netdev_nl_queue_fill_one
2026/08/18 21:27 upstream 0f23d56f17fd 1e72964b .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream KASAN: slab-use-after-free Read in netdev_nl_queue_fill_one
2026/08/15 13:50 upstream 15ef2f78c49d 746171ee .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream KASAN: slab-use-after-free Read in netdev_nl_queue_fill_one
2026/08/14 04:29 upstream 3aa1dcaa4f6f b13552fe .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream KASAN: slab-use-after-free Read in netdev_nl_queue_fill_one
2026/08/14 00:12 upstream 3aa1dcaa4f6f b13552fe .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream KASAN: slab-use-after-free Read in netdev_nl_queue_fill_one
2026/08/25 20:18 upstream 66498c75b4f8 a9a1fc32 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 KASAN: slab-use-after-free Read in netdev_nl_queue_fill_one
2026/08/19 14:44 upstream b126f6f5940f 1e72964b .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 KASAN: slab-use-after-free Read in netdev_nl_queue_fill_one
2026/08/16 16:02 upstream 3eb40771c00a 746171ee .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 KASAN: slab-use-after-free Read in netdev_nl_queue_fill_one
* Struck through repros no longer work on HEAD.