================================================================== BUG: KASAN: slab-use-after-free in advance_sched+0x20c/0xac0 net/sched/sch_taprio.c:952 Read of size 8 at addr ffff0000e2abe150 by task swapper/1/0 CPU: 1 PID: 0 Comm: swapper/1 Not tainted 6.8.0-rc6-syzkaller-g9910665503b3 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024 Call trace: dump_backtrace+0x1b8/0x1e4 arch/arm64/kernel/stacktrace.c:291 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:298 __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xd0/0x124 lib/dump_stack.c:106 print_address_description mm/kasan/report.c:377 [inline] print_report+0x178/0x518 mm/kasan/report.c:488 kasan_report+0xd8/0x138 mm/kasan/report.c:601 __asan_report_load8_noabort+0x20/0x2c mm/kasan/report_generic.c:381 advance_sched+0x20c/0xac0 net/sched/sch_taprio.c:952 __run_hrtimer kernel/time/hrtimer.c:1689 [inline] __hrtimer_run_queues+0x484/0xca0 kernel/time/hrtimer.c:1753 hrtimer_interrupt+0x2c0/0xb64 kernel/time/hrtimer.c:1815 timer_handler drivers/clocksource/arm_arch_timer.c:674 [inline] arch_timer_handler_virt+0x74/0x88 drivers/clocksource/arm_arch_timer.c:685 handle_percpu_devid_irq+0x2a4/0x804 kernel/irq/chip.c:942 generic_handle_irq_desc include/linux/irqdesc.h:161 [inline] handle_irq_desc kernel/irq/irqdesc.c:672 [inline] generic_handle_domain_irq+0x7c/0xc4 kernel/irq/irqdesc.c:728 __gic_handle_irq drivers/irqchip/irq-gic-v3.c:782 [inline] __gic_handle_irq_from_irqson drivers/irqchip/irq-gic-v3.c:833 [inline] gic_handle_irq+0x6c/0x190 drivers/irqchip/irq-gic-v3.c:877 call_on_irq_stack+0x24/0x4c arch/arm64/kernel/entry.S:889 do_interrupt_handler+0xd4/0x138 arch/arm64/kernel/entry-common.c:310 __el1_irq arch/arm64/kernel/entry-common.c:536 [inline] el1_interrupt+0x34/0x68 arch/arm64/kernel/entry-common.c:551 el1h_64_irq_handler+0x18/0x24 arch/arm64/kernel/entry-common.c:556 el1h_64_irq+0x64/0x68 arch/arm64/kernel/entry.S:594 __daif_local_irq_enable arch/arm64/include/asm/irqflags.h:27 [inline] arch_local_irq_enable+0x8/0xc arch/arm64/include/asm/irqflags.h:49 cpuidle_idle_call kernel/sched/idle.c:170 [inline] do_idle+0x1f0/0x4e8 kernel/sched/idle.c:312 cpu_startup_entry+0x5c/0x74 kernel/sched/idle.c:410 secondary_start_kernel+0x198/0x1c0 arch/arm64/kernel/smp.c:272 __secondary_switched+0xb8/0xbc arch/arm64/kernel/head.S:404 Allocated by task 22692: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x40/0x78 mm/kasan/common.c:68 kasan_save_alloc_info+0x70/0x84 mm/kasan/generic.c:629 poison_kmalloc_redzone mm/kasan/common.c:372 [inline] __kasan_kmalloc+0xac/0xc4 mm/kasan/common.c:389 kasan_kmalloc include/linux/kasan.h:211 [inline] kmalloc_trace+0x26c/0x49c mm/slub.c:4012 kmalloc include/linux/slab.h:590 [inline] kzalloc include/linux/slab.h:711 [inline] parse_sched_list net/sched/sch_taprio.c:1109 [inline] parse_taprio_schedule net/sched/sch_taprio.c:1151 [inline] taprio_change+0x211c/0x3bf0 net/sched/sch_taprio.c:1918 qdisc_change net/sched/sch_api.c:1416 [inline] tc_modify_qdisc+0x1474/0x1870 net/sched/sch_api.c:1746 rtnetlink_rcv_msg+0x748/0xdbc net/core/rtnetlink.c:6618 netlink_rcv_skb+0x214/0x3c4 net/netlink/af_netlink.c:2543 rtnetlink_rcv+0x28/0x38 net/core/rtnetlink.c:6636 netlink_unicast_kernel net/netlink/af_netlink.c:1341 [inline] netlink_unicast+0x65c/0x898 net/netlink/af_netlink.c:1367 netlink_sendmsg+0x83c/0xb20 net/netlink/af_netlink.c:1908 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg net/socket.c:745 [inline] ____sys_sendmsg+0x56c/0x840 net/socket.c:2584 ___sys_sendmsg net/socket.c:2638 [inline] __sys_sendmsg+0x26c/0x33c net/socket.c:2667 __do_sys_sendmsg net/socket.c:2676 [inline] __se_sys_sendmsg net/socket.c:2674 [inline] __arm64_sys_sendmsg+0x80/0x94 net/socket.c:2674 __invoke_syscall arch/arm64/kernel/syscall.c:34 [inline] invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:48 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:133 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:152 el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:712 el0t_64_sync_handler+0x84/0xfc arch/arm64/kernel/entry-common.c:730 el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:598 Freed by task 22695: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x40/0x78 mm/kasan/common.c:68 kasan_save_free_info+0x5c/0x74 mm/kasan/generic.c:643 poison_slab_object+0x124/0x18c mm/kasan/common.c:241 __kasan_slab_free+0x3c/0x78 mm/kasan/common.c:257 kasan_slab_free include/linux/kasan.h:184 [inline] slab_free_hook mm/slub.c:2121 [inline] slab_free mm/slub.c:4299 [inline] kfree+0x144/0x3cc mm/slub.c:4409 taprio_free_sched_cb+0x130/0x178 net/sched/sch_taprio.c:196 rcu_do_batch kernel/rcu/tree.c:2190 [inline] rcu_core+0x890/0x1b34 kernel/rcu/tree.c:2465 rcu_core_si+0x10/0x1c kernel/rcu/tree.c:2482 __do_softirq+0x2d8/0xce4 kernel/softirq.c:553 The buggy address belongs to the object at ffff0000e2abe000 which belongs to the cache kmalloc-512 of size 512 The buggy address is located 336 bytes inside of freed 512-byte region [ffff0000e2abe000, ffff0000e2abe200) The buggy address belongs to the physical page: page:00000000950a7a4b refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x122abc head:00000000950a7a4b order:2 entire_mapcount:0 nr_pages_mapped:0 pincount:0 ksm flags: 0x5ffc00000000840(slab|head|node=0|zone=2|lastcpupid=0x7ff) page_type: 0xffffffff() raw: 05ffc00000000840 ffff0000c0001c80 fffffdffc3885400 dead000000000003 raw: 0000000000000000 0000000000100010 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff0000e2abe000: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff0000e2abe080: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff0000e2abe100: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff0000e2abe180: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff0000e2abe200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ==================================================================