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

Status: upstream: reported on 2026/08/17 08:18
Subsystems: net
Labels: prio:normal
[Documentation on labels]
Reported-by: syzbot+483a6efbc4882c1201ee@syzkaller.appspotmail.com
Fix commit: netdevsim: update queue NAPI association on queue reset
Patched on: [ci-upstream-linux-next-kasan-gce-root ci-upstream-net-this-kasan-gce ci-upstream-rust-kasan-gce], missing on: [ci-qemu-gce-upstream-auto ci-qemu-native-arm64-kvm ci-qemu-upstream ci-qemu-upstream-386 ci-qemu2-arm32 ci-qemu2-arm64 ci-qemu2-arm64-compat ci-qemu2-arm64-mte ci-qemu2-riscv64 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-kmsan-gce-386-root ci-upstream-kmsan-gce-root ci-upstream-net-kasan-gce ci2-upstream-fs ci2-upstream-kcsan-gce ci2-upstream-usb]
First crash: 7d09h, last: 3d05h
✨ AI Jobs (1)
ID Workflow Result Correct Bug Created Started Finished Revision
24c9b1b4 assessment-security DenialOfService: ✅ Exploitable: ✅ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ❌ UserNamespace: ❌ VMGuestTrigger: ❌ VMHostTrigger: ❌ KASAN: slab-use-after-free Read in nla_put_napi_id 2026/08/17 01:54 2026/08/17 01:54 2026/08/17 02:28 746171ee
Discussions (2)
Title Replies (including bot) Last reply
[PATCH net] netdevsim: update queue NAPI association on queue reset 3 (3) 2026/08/20 19:50
[syzbot] [net?] KASAN: slab-use-after-free Read in nla_put_napi_id 0 (1) 2026/08/17 08:18

Sample crash report:
==================================================================
BUG: KASAN: slab-use-after-free in nla_put_napi_id+0x140/0x144 net/core/netdev-genl.c:386
Read of size 4 at addr ffff0000d8b2618c by task syz.6.271/6953

CPU: 0 UID: 0 PID: 6953 Comm: syz.6.271 Tainted: G             L      syzkaller #0 PREEMPT 
Tainted: [L]=SOFTLOCKUP
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/07/2026
Call trace:
 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:499 (C)
 __dump_stack+0x30/0x40 lib/dump_stack.c:94
 dump_stack_lvl+0xd8/0x12c lib/dump_stack.c:120
 print_address_description+0xb0/0x238 mm/kasan/report.c:378
 print_report+0x68/0x84 mm/kasan/report.c:482
 kasan_report+0x8c/0xc4 mm/kasan/report.c:595
 __asan_report_load4_noabort+0x20/0x2c mm/kasan/report_generic.c:380
 nla_put_napi_id+0x140/0x144 net/core/netdev-genl.c:386
 netdev_nl_queue_fill_one+0x3ac/0x610 net/core/netdev-genl.c:494
 netdev_nl_queue_dump_one+0xd0/0x2f8 net/core/netdev-genl.c:603
 netdev_nl_queue_get_dumpit+0x1e0/0x4a4 net/core/netdev-genl.c:641
 genl_dumpit+0x108/0x1bc net/netlink/genetlink.c:1026
 netlink_dump+0x55c/0xb6c net/netlink/af_netlink.c:2331
 __netlink_dump_start+0x4c4/0x6f8 net/netlink/af_netlink.c:2446
 genl_family_rcv_msg_dumpit+0x1a8/0x28c net/netlink/genetlink.c:1075
 genl_family_rcv_msg net/netlink/genetlink.c:1191 [inline]
 genl_rcv_msg+0x404/0x620 net/netlink/genetlink.c:1209
 netlink_rcv_skb+0x238/0x414 net/netlink/af_netlink.c:2556
 genl_rcv+0x38/0x50 net/netlink/genetlink.c:1218
 netlink_unicast_kernel net/netlink/af_netlink.c:1319 [inline]
 netlink_unicast+0x600/0x7f8 net/netlink/af_netlink.c:1345
 netlink_sendmsg+0x648/0x948 net/netlink/af_netlink.c:1900
 sock_sendmsg_nosec net/socket.c:775 [inline]
 __sock_sendmsg+0xc8/0x17c net/socket.c:790
 ____sys_sendmsg+0x3d0/0x6c8 net/socket.c:2684
 ___sys_sendmsg+0x198/0x224 net/socket.c:2738
 __sys_sendmsg+0x158/0x204 net/socket.c:2770
 __do_sys_sendmsg net/socket.c:2775 [inline]
 __se_sys_sendmsg net/socket.c:2773 [inline]
 __arm64_sys_sendmsg+0x88/0x9c net/socket.c:2773
 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
 invoke_syscall+0x98/0x244 arch/arm64/kernel/syscall.c:49
 el0_svc_common+0xec/0x23c arch/arm64/kernel/syscall.c:121
 do_el0_svc+0x4c/0x5c arch/arm64/kernel/syscall.c:140
 el0_svc+0x64/0x260 arch/arm64/kernel/entry-common.c:758
 el0t_64_sync_handler+0x44/0x104 arch/arm64/kernel/entry-common.c:777
 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:590

Allocated by task 5027:
 kasan_save_stack mm/kasan/common.c:57 [inline]
 kasan_save_track+0x40/0x78 mm/kasan/common.c:78
 kasan_save_alloc_info+0x40/0x50 mm/kasan/generic.c:570
 poison_kmalloc_redzone mm/kasan/common.c:398 [inline]
 __kasan_kmalloc+0x9c/0xb4 mm/kasan/common.c:415
 kasan_kmalloc include/linux/kasan.h:263 [inline]
 __do_kmalloc_node mm/slub.c:5334 [inline]
 __kvmalloc_node_noprof+0x460/0x7d8 mm/slub.c:6905
 xt_alloc_table_info+0x58/0xc4 net/netfilter/x_tables.c:1286
 do_replace net/ipv4/netfilter/ip_tables.c:1124 [inline]
 do_ipt_set_ctl+0x850/0xc38 net/ipv4/netfilter/ip_tables.c:1634
 nf_setsockopt+0xa0/0xe4 net/netfilter/nf_sockopt.c:101
 ip_setsockopt+0x118/0x128 net/ipv4/ip_sockglue.c:1424
 tcp_setsockopt+0xcc/0xe8 net/ipv4/tcp.c:4179
 sock_common_setsockopt+0xb0/0xcc net/core/sock.c:4033
 do_sock_setsockopt+0x1f0/0x330 net/socket.c:2368
 __sys_setsockopt+0x104/0x170 net/socket.c:2393
 __do_sys_setsockopt net/socket.c:2399 [inline]
 __se_sys_setsockopt net/socket.c:2396 [inline]
 __arm64_sys_setsockopt+0xc8/0xe4 net/socket.c:2396
 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
 invoke_syscall+0x98/0x244 arch/arm64/kernel/syscall.c:49
 el0_svc_common+0xec/0x23c arch/arm64/kernel/syscall.c:121
 do_el0_svc+0x4c/0x5c arch/arm64/kernel/syscall.c:140
 el0_svc+0x64/0x260 arch/arm64/kernel/entry-common.c:758
 el0t_64_sync_handler+0x44/0x104 arch/arm64/kernel/entry-common.c:777
 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:590

Freed by task 5027:
 kasan_save_stack mm/kasan/common.c:57 [inline]
 kasan_save_track+0x40/0x78 mm/kasan/common.c:78
 kasan_save_free_info+0x54/0x6c mm/kasan/generic.c:584
 poison_slab_object mm/kasan/common.c:253 [inline]
 __kasan_slab_free+0x74/0xa4 mm/kasan/common.c:285
 kasan_slab_free include/linux/kasan.h:235 [inline]
 slab_free_hook mm/slub.c:2677 [inline]
 slab_free mm/slub.c:6377 [inline]
 kfree+0x188/0x690 mm/slub.c:6692
 kvfree+0x30/0x40 mm/slub.c:6954
 xt_free_table_info+0x114/0x13c net/netfilter/x_tables.c:1306
 __do_replace+0x664/0x8f4 net/ipv4/netfilter/ip_tables.c:1082
 do_replace net/ipv4/netfilter/ip_tables.c:1139 [inline]
 do_ipt_set_ctl+0x980/0xc38 net/ipv4/netfilter/ip_tables.c:1634
 nf_setsockopt+0xa0/0xe4 net/netfilter/nf_sockopt.c:101
 ip_setsockopt+0x118/0x128 net/ipv4/ip_sockglue.c:1424
 tcp_setsockopt+0xcc/0xe8 net/ipv4/tcp.c:4179
 sock_common_setsockopt+0xb0/0xcc net/core/sock.c:4033
 do_sock_setsockopt+0x1f0/0x330 net/socket.c:2368
 __sys_setsockopt+0x104/0x170 net/socket.c:2393
 __do_sys_setsockopt net/socket.c:2399 [inline]
 __se_sys_setsockopt net/socket.c:2396 [inline]
 __arm64_sys_setsockopt+0xc8/0xe4 net/socket.c:2396
 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
 invoke_syscall+0x98/0x244 arch/arm64/kernel/syscall.c:49
 el0_svc_common+0xec/0x23c arch/arm64/kernel/syscall.c:121
 do_el0_svc+0x4c/0x5c arch/arm64/kernel/syscall.c:140
 el0_svc+0x64/0x260 arch/arm64/kernel/entry-common.c:758
 el0t_64_sync_handler+0x44/0x104 arch/arm64/kernel/entry-common.c:777
 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:590

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

The buggy address belongs to the physical page:
page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x118b20
head: order:3 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0
memcg:ffff0000f33eb001
flags: 0x5ffc00000000040(head|node=0|zone=2|lastcpupid=0x7ff)
page_type: f5(slab)
raw: 05ffc00000000040 ffff0000c000b280 dead000000000100 dead000000000122
raw: 0000000000000000 0000000800100010 00000000f5000000 ffff0000f33eb001
head: 05ffc00000000040 ffff0000c000b280 dead000000000100 dead000000000122
head: 0000000000000000 0000000800100010 00000000f5000000 ffff0000f33eb001
head: 05ffc00000000003 fffffdffc362c801 00000000ffffffff 00000000ffffffff
head: ffffffffffffffff 0000000000000000 00000000ffffffff 0000000000000008
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff0000d8b26080: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff0000d8b26100: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff0000d8b26180: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
                      ^
 ffff0000d8b26200: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff0000d8b26280: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/19 21:33 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 21d6ac051080 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 KASAN: slab-use-after-free Read in nla_put_napi_id
2026/08/15 17:34 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 21d6ac051080 746171ee .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 KASAN: slab-use-after-free Read in nla_put_napi_id
* Struck through repros no longer work on HEAD.