================================================================== BUG: KASAN: slab-use-after-free in qfq_reset_qdisc+0xcc/0x208 net/sched/sch_qfq.c:1484 Read of size 8 at addr ffff0000fad9ed50 by task syz.3.143/7249 CPU: 1 UID: 0 PID: 7249 Comm: syz.3.143 Not tainted syzkaller #0 PREEMPT Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/30/2025 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+0xa8/0x238 mm/kasan/report.c:378 print_report+0x68/0x84 mm/kasan/report.c:482 kasan_report+0xb0/0x110 mm/kasan/report.c:595 __asan_report_load8_noabort+0x20/0x2c mm/kasan/report_generic.c:381 qfq_reset_qdisc+0xcc/0x208 net/sched/sch_qfq.c:1484 qdisc_reset+0x128/0x598 net/sched/sch_generic.c:1038 __qdisc_destroy+0x134/0x4bc net/sched/sch_generic.c:1077 qdisc_put net/sched/sch_generic.c:1109 [inline] dev_shutdown+0x35c/0x47c net/sched/sch_generic.c:1497 unregister_netdevice_many_notify+0xbb8/0x1de0 net/core/dev.c:12242 unregister_netdevice_many net/core/dev.c:12317 [inline] unregister_netdevice_queue+0x2b4/0x300 net/core/dev.c:12161 unregister_netdevice include/linux/netdevice.h:3389 [inline] __tun_detach+0x5d4/0x1304 drivers/net/tun.c:621 tun_detach drivers/net/tun.c:637 [inline] tun_chr_close+0x118/0x1f8 drivers/net/tun.c:3436 __fput+0x340/0x75c fs/file_table.c:468 ____fput+0x20/0x58 fs/file_table.c:496 task_work_run+0x1dc/0x260 kernel/task_work.c:227 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] exit_to_user_mode_loop+0xfc/0x178 kernel/entry/common.c:43 exit_to_user_mode_prepare include/linux/irq-entry-common.h:225 [inline] arm64_exit_to_user_mode arch/arm64/kernel/entry-common.c:103 [inline] el0_svc+0x170/0x254 arch/arm64/kernel/entry-common.c:747 el0t_64_sync_handler+0x84/0x12c arch/arm64/kernel/entry-common.c:765 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:596 Allocated by task 7250: kasan_save_stack mm/kasan/common.c:56 [inline] kasan_save_track+0x40/0x78 mm/kasan/common.c:77 kasan_save_alloc_info+0x44/0x54 mm/kasan/generic.c:573 poison_kmalloc_redzone mm/kasan/common.c:400 [inline] __kasan_kmalloc+0x9c/0xb4 mm/kasan/common.c:417 kasan_kmalloc include/linux/kasan.h:262 [inline] __kmalloc_cache_noprof+0x3a4/0x65c mm/slub.c:5748 kmalloc_noprof include/linux/slab.h:957 [inline] kzalloc_noprof include/linux/slab.h:1094 [inline] qfq_change_class+0x498/0xbe8 net/sched/sch_qfq.c:479 __tc_ctl_tclass net/sched/sch_api.c:2274 [inline] tc_ctl_tclass+0x988/0x10b0 net/sched/sch_api.c:2304 rtnetlink_rcv_msg+0x624/0x97c net/core/rtnetlink.c:6963 netlink_rcv_skb+0x220/0x3fc net/netlink/af_netlink.c:2552 rtnetlink_rcv+0x28/0x38 net/core/rtnetlink.c:6981 netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline] netlink_unicast+0x694/0x8c4 net/netlink/af_netlink.c:1346 netlink_sendmsg+0x648/0x930 net/netlink/af_netlink.c:1896 sock_sendmsg_nosec net/socket.c:727 [inline] __sock_sendmsg net/socket.c:742 [inline] ____sys_sendmsg+0x490/0x7b8 net/socket.c:2630 ___sys_sendmsg+0x204/0x278 net/socket.c:2684 __sys_sendmsg net/socket.c:2716 [inline] __do_sys_sendmsg net/socket.c:2721 [inline] __se_sys_sendmsg net/socket.c:2719 [inline] __arm64_sys_sendmsg+0x184/0x238 net/socket.c:2719 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x98/0x254 arch/arm64/kernel/syscall.c:49 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151 el0_svc+0x5c/0x254 arch/arm64/kernel/entry-common.c:746 el0t_64_sync_handler+0x84/0x12c arch/arm64/kernel/entry-common.c:765 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:596 Freed by task 7250: kasan_save_stack mm/kasan/common.c:56 [inline] kasan_save_track+0x40/0x78 mm/kasan/common.c:77 __kasan_save_free_info+0x58/0x70 mm/kasan/generic.c:587 kasan_save_free_info mm/kasan/kasan.h:406 [inline] poison_slab_object mm/kasan/common.c:252 [inline] __kasan_slab_free+0x74/0xa4 mm/kasan/common.c:284 kasan_slab_free include/linux/kasan.h:234 [inline] slab_free_hook mm/slub.c:2523 [inline] slab_free mm/slub.c:6611 [inline] kfree+0x184/0x600 mm/slub.c:6818 qfq_change_class+0x92c/0xbe8 net/sched/sch_qfq.c:533 __tc_ctl_tclass net/sched/sch_api.c:2274 [inline] tc_ctl_tclass+0x988/0x10b0 net/sched/sch_api.c:2304 rtnetlink_rcv_msg+0x624/0x97c net/core/rtnetlink.c:6963 netlink_rcv_skb+0x220/0x3fc net/netlink/af_netlink.c:2552 rtnetlink_rcv+0x28/0x38 net/core/rtnetlink.c:6981 netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline] netlink_unicast+0x694/0x8c4 net/netlink/af_netlink.c:1346 netlink_sendmsg+0x648/0x930 net/netlink/af_netlink.c:1896 sock_sendmsg_nosec net/socket.c:727 [inline] __sock_sendmsg net/socket.c:742 [inline] ____sys_sendmsg+0x490/0x7b8 net/socket.c:2630 ___sys_sendmsg+0x204/0x278 net/socket.c:2684 __sys_sendmsg net/socket.c:2716 [inline] __do_sys_sendmsg net/socket.c:2721 [inline] __se_sys_sendmsg net/socket.c:2719 [inline] __arm64_sys_sendmsg+0x184/0x238 net/socket.c:2719 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x98/0x254 arch/arm64/kernel/syscall.c:49 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151 el0_svc+0x5c/0x254 arch/arm64/kernel/entry-common.c:746 el0t_64_sync_handler+0x84/0x12c arch/arm64/kernel/entry-common.c:765 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:596 The buggy address belongs to the object at ffff0000fad9ed00 which belongs to the cache kmalloc-128 of size 128 The buggy address is located 80 bytes inside of freed 128-byte region [ffff0000fad9ed00, ffff0000fad9ed80) The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x13ad9e anon flags: 0x5ffc00000000000(node=0|zone=2|lastcpupid=0x7ff) page_type: f5(slab) raw: 05ffc00000000000 ffff0000c0001a00 0000000000000000 0000000000000001 raw: 0000000000000000 0000000000100010 00000000f5000000 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff0000fad9ec00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff0000fad9ec80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff0000fad9ed00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff0000fad9ed80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff0000fad9ee00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ================================================================== Unable to handle kernel paging request at virtual address 004f808900000393 Mem abort info: ESR = 0x0000000096000004 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x04: level 0 translation fault Data abort info: ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 CM = 0, WnR = 0, TnD = 0, TagAccess = 0 GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [004f808900000393] address between user and kernel address ranges Internal error: Oops: 0000000096000004 [#1] SMP Modules linked in: CPU: 1 UID: 0 PID: 7249 Comm: syz.3.143 Tainted: G B syzkaller #0 PREEMPT Tainted: [B]=BAD_PAGE Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/30/2025 pstate: 83400005 (Nzcv daif +PAN -UAO +TCO +DIT -SSBS BTYPE=--) pc : qfq_reset_qdisc+0xbc/0x208 net/sched/sch_qfq.c:1484 lr : qfq_reset_qdisc+0x158/0x208 net/sched/sch_qfq.c:1483 sp : ffff8000a43177c0 x29: ffff8000a43177d0 x28: 0000000000000000 x27: 1fffe0001aa5b05a x26: 0050008900000393 x25: dfff800000000000 x24: 0000000000000000 x23: 0280044800001c9a x22: 0280044800001c4a x21: ffff0000d52d82d0 x20: ffff0000d52d82d8 x19: ffff0000d52d8000 x18: 1fffe000337dfe90 x17: ffff80008f57e000 x16: ffff800082de9540 x15: 0000000000000001 x14: 1ffff0001250b1b8 x13: 0000000000000000 x12: 0000000000000000 x11: ffff70001250b1b9 x10: 0000000000ff0100 x9 : 0000000000000000 x8 : ffff0000c7e51ec0 x7 : 0000000000000001 x6 : ffff8000805638d4 x5 : 0000000000000000 x4 : 0000000000000000 x3 : ffff80008936af34 x2 : 0000000000000000 x1 : 0000000000000008 x0 : 0000000000000000 Call trace: qfq_reset_qdisc+0xbc/0x208 net/sched/sch_qfq.c:1484 (P) qdisc_reset+0x128/0x598 net/sched/sch_generic.c:1038 __qdisc_destroy+0x134/0x4bc net/sched/sch_generic.c:1077 qdisc_put net/sched/sch_generic.c:1109 [inline] dev_shutdown+0x35c/0x47c net/sched/sch_generic.c:1497 unregister_netdevice_many_notify+0xbb8/0x1de0 net/core/dev.c:12242 unregister_netdevice_many net/core/dev.c:12317 [inline] unregister_netdevice_queue+0x2b4/0x300 net/core/dev.c:12161 unregister_netdevice include/linux/netdevice.h:3389 [inline] __tun_detach+0x5d4/0x1304 drivers/net/tun.c:621 tun_detach drivers/net/tun.c:637 [inline] tun_chr_close+0x118/0x1f8 drivers/net/tun.c:3436 __fput+0x340/0x75c fs/file_table.c:468 ____fput+0x20/0x58 fs/file_table.c:496 task_work_run+0x1dc/0x260 kernel/task_work.c:227 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] exit_to_user_mode_loop+0xfc/0x178 kernel/entry/common.c:43 exit_to_user_mode_prepare include/linux/irq-entry-common.h:225 [inline] arm64_exit_to_user_mode arch/arm64/kernel/entry-common.c:103 [inline] el0_svc+0x170/0x254 arch/arm64/kernel/entry-common.c:747 el0t_64_sync_handler+0x84/0x12c arch/arm64/kernel/entry-common.c:765 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:596 Code: d1002116 b4000656 910142d7 d343fefa (38796b48) ---[ end trace 0000000000000000 ]--- ---------------- Code disassembly (best guess): 0: d1002116 sub x22, x8, #0x8 4: b4000656 cbz x22, 0xcc 8: 910142d7 add x23, x22, #0x50 c: d343fefa lsr x26, x23, #3 * 10: 38796b48 ldrb w8, [x26, x25] <-- trapping instruction