================================================================== BUG: KASAN: slab-use-after-free in __lock_acquire+0x77/0x1fd0 kernel/locking/lockdep.c:5005 Read of size 8 at addr ffff8880211c4578 by task syz-executor115/9164 CPU: 0 PID: 9164 Comm: syz-executor115 Not tainted 6.8.0-rc5-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x1e7/0x2e0 lib/dump_stack.c:106 print_address_description mm/kasan/report.c:377 [inline] print_report+0x167/0x540 mm/kasan/report.c:488 kasan_report+0x142/0x180 mm/kasan/report.c:601 __lock_acquire+0x77/0x1fd0 kernel/locking/lockdep.c:5005 lock_acquire+0x1e3/0x530 kernel/locking/lockdep.c:5754 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162 class_raw_spinlock_irqsave_constructor include/linux/spinlock.h:553 [inline] try_to_wake_up+0xaf/0x1470 kernel/sched/core.c:4253 call_timer_fn+0x17e/0x600 kernel/time/timer.c:1700 expire_timers kernel/time/timer.c:1751 [inline] __run_timers+0x621/0x830 kernel/time/timer.c:2038 run_timer_softirq+0x67/0xf0 kernel/time/timer.c:2051 __do_softirq+0x2bb/0x942 kernel/softirq.c:553 invoke_softirq kernel/softirq.c:427 [inline] __irq_exit_rcu+0xf1/0x1c0 kernel/softirq.c:632 irq_exit_rcu+0x9/0x30 kernel/softirq.c:644 sysvec_apic_timer_interrupt+0x48/0xb0 arch/x86/kernel/apic/apic.c:1076 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:649 RIP: 0033:0x7f41e8a24b70 Code: 49 8b 47 10 48 39 f0 72 6e 48 63 cd 48 01 c1 49 39 4f 08 72 4c 8d 4d ff 85 ed 74 33 66 0f 1f 44 00 00 48 39 f0 72 1b 4d 8b 07 <49> 89 c1 49 29 f1 47 0f b6 0c 08 45 84 c9 74 08 45 88 0c 00 49 8b RSP: 002b:00007ffe4bfce3f0 EFLAGS: 00000202 RAX: 00000000001c00b1 RBX: 00007ffe4bfce490 RCX: 00000000000000b8 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 00007ffe4bfce530 RBP: 0000000000000102 R08: 00007f41e0600000 R09: 0000000000000000 R10: 0000000000000000 R11: 00007ffe4bfce4a0 R12: 0000000000000001 R13: 00007f41e8aa40c0 R14: 0000000000000000 R15: 00007ffe4bfce530 Allocated by task 2: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 unpoison_slab_object mm/kasan/common.c:314 [inline] __kasan_slab_alloc+0x66/0x80 mm/kasan/common.c:340 kasan_slab_alloc include/linux/kasan.h:201 [inline] slab_post_alloc_hook mm/slub.c:3813 [inline] slab_alloc_node mm/slub.c:3860 [inline] kmem_cache_alloc_node+0x18f/0x380 mm/slub.c:3903 alloc_task_struct_node kernel/fork.c:174 [inline] dup_task_struct+0x57/0x7d0 kernel/fork.c:1104 copy_process+0x5d5/0x3fc0 kernel/fork.c:2327 kernel_clone+0x222/0x840 kernel/fork.c:2902 kernel_thread+0x1bc/0x240 kernel/fork.c:2964 create_kthread kernel/kthread.c:411 [inline] kthreadd+0x60c/0x810 kernel/kthread.c:764 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:242 Freed by task 5079: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 kasan_save_free_info+0x4e/0x60 mm/kasan/generic.c:640 poison_slab_object+0xa6/0xe0 mm/kasan/common.c:241 __kasan_slab_free+0x34/0x70 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] kmem_cache_free+0x102/0x2a0 mm/slub.c:4363 put_task_struct include/linux/sched/task.h:138 [inline] delayed_put_task_struct+0x115/0x2d0 kernel/exit.c:229 rcu_do_batch kernel/rcu/tree.c:2190 [inline] rcu_core+0xd76/0x1810 kernel/rcu/tree.c:2465 __do_softirq+0x2bb/0x942 kernel/softirq.c:553 Last potentially related work creation: kasan_save_stack+0x3f/0x60 mm/kasan/common.c:47 __kasan_record_aux_stack+0xae/0x100 mm/kasan/generic.c:586 __call_rcu_common kernel/rcu/tree.c:2715 [inline] call_rcu+0x167/0xa80 kernel/rcu/tree.c:2829 context_switch kernel/sched/core.c:5403 [inline] __schedule+0x1787/0x49a0 kernel/sched/core.c:6727 preempt_schedule_common+0x83/0xd0 kernel/sched/core.c:6904 preempt_schedule+0xe1/0xf0 kernel/sched/core.c:6928 preempt_schedule_thunk+0x1a/0x30 arch/x86/entry/thunk_64.S:45 __raw_spin_unlock_irq include/linux/spinlock_api_smp.h:160 [inline] _raw_spin_unlock_irq+0x44/0x50 kernel/locking/spinlock.c:202 process_one_work kernel/workqueue.c:2606 [inline] process_scheduled_works+0x7f4/0x1420 kernel/workqueue.c:2706 worker_thread+0xa5f/0x1000 kernel/workqueue.c:2787 kthread+0x2ef/0x390 kernel/kthread.c:388 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:242 The buggy address belongs to the object at ffff8880211c3b80 which belongs to the cache task_struct of size 7360 The buggy address is located 2552 bytes inside of freed 7360-byte region [ffff8880211c3b80, ffff8880211c5840) The buggy address belongs to the physical page: page:ffffea0000847000 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x211c0 head:ffffea0000847000 order:3 entire_mapcount:0 nr_pages_mapped:0 pincount:0 anon flags: 0xfff00000000840(slab|head|node=0|zone=1|lastcpupid=0x7ff) page_type: 0xffffffff() raw: 00fff00000000840 ffff8880162b2500 0000000000000000 dead000000000001 raw: 0000000000000000 0000000000040004 00000001ffffffff 0000000000000000 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 11, tgid 11 (kworker/u4:0), ts 9635853610, free_ts 0 set_page_owner include/linux/page_owner.h:31 [inline] post_alloc_hook+0x1ea/0x210 mm/page_alloc.c:1533 prep_new_page mm/page_alloc.c:1540 [inline] get_page_from_freelist+0x33ea/0x3580 mm/page_alloc.c:3311 __alloc_pages+0x255/0x680 mm/page_alloc.c:4567 __alloc_pages_node include/linux/gfp.h:238 [inline] alloc_pages_node include/linux/gfp.h:261 [inline] alloc_slab_page+0x5f/0x160 mm/slub.c:2190 allocate_slab mm/slub.c:2354 [inline] new_slab+0x84/0x2f0 mm/slub.c:2407 ___slab_alloc+0xd17/0x13e0 mm/slub.c:3540 __slab_alloc mm/slub.c:3625 [inline] __slab_alloc_node mm/slub.c:3678 [inline] slab_alloc_node mm/slub.c:3850 [inline] kmem_cache_alloc_node+0x245/0x380 mm/slub.c:3903 alloc_task_struct_node kernel/fork.c:174 [inline] dup_task_struct+0x57/0x7d0 kernel/fork.c:1104 copy_process+0x5d5/0x3fc0 kernel/fork.c:2327 kernel_clone+0x222/0x840 kernel/fork.c:2902 user_mode_thread+0x132/0x1a0 kernel/fork.c:2980 call_usermodehelper_exec_work+0x5c/0x230 kernel/umh.c:172 process_one_work kernel/workqueue.c:2633 [inline] process_scheduled_works+0x913/0x1420 kernel/workqueue.c:2706 worker_thread+0xa5f/0x1000 kernel/workqueue.c:2787 kthread+0x2ef/0x390 kernel/kthread.c:388 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 page_owner free stack trace missing Memory state around the buggy address: ffff8880211c4400: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880211c4480: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8880211c4500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8880211c4580: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880211c4600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================