================================================================== BUG: KASAN: use-after-free in __lock_acquire+0xda/0x2b00 kernel/locking/lockdep.c:4897 Read of size 8 at addr ffff88807e543340 by task syz-executor.4/19496 CPU: 0 PID: 19496 Comm: syz-executor.4 Not tainted 5.16.0-rc7-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x1dc/0x2d8 lib/dump_stack.c:106 print_address_description+0x65/0x380 mm/kasan/report.c:247 __kasan_report mm/kasan/report.c:433 [inline] kasan_report+0x19a/0x1f0 mm/kasan/report.c:450 __lock_acquire+0xda/0x2b00 kernel/locking/lockdep.c:4897 lock_acquire+0x19f/0x4d0 kernel/locking/lockdep.c:5637 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0xd1/0x120 kernel/locking/spinlock.c:162 remove_wait_queue+0x20/0x130 kernel/sched/wait.c:55 free_poll_entry fs/select.c:134 [inline] poll_freewait+0xaa/0x230 fs/select.c:143 do_sys_poll+0xdca/0x11c0 fs/select.c:1012 __do_sys_ppoll fs/select.c:1117 [inline] __se_sys_ppoll+0x29c/0x330 fs/select.c:1097 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7fbd0ccaee99 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fbd0b603168 EFLAGS: 00000246 ORIG_RAX: 000000000000010f RAX: ffffffffffffffda RBX: 00007fbd0cdc2030 RCX: 00007fbd0ccaee99 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000020001700 RBP: 00007fbd0cd08ff1 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffe2faee73f R14: 00007fbd0b603300 R15: 0000000000022000 Allocated by task 19487: kasan_save_stack mm/kasan/common.c:38 [inline] kasan_set_track mm/kasan/common.c:46 [inline] set_alloc_info mm/kasan/common.c:434 [inline] ____kasan_kmalloc+0xdc/0x110 mm/kasan/common.c:513 kasan_kmalloc include/linux/kasan.h:269 [inline] kmem_cache_alloc_trace+0x9d/0x330 mm/slub.c:3261 kmalloc include/linux/slab.h:590 [inline] psi_trigger_create+0x292/0x980 kernel/sched/psi.c:1141 cgroup_pressure_write+0x216/0x370 kernel/cgroup/cgroup.c:3645 cgroup_file_write+0x2b6/0x790 kernel/cgroup/cgroup.c:3852 kernfs_fop_write_iter+0x3b6/0x510 fs/kernfs/file.c:296 call_write_iter include/linux/fs.h:2162 [inline] new_sync_write fs/read_write.c:503 [inline] vfs_write+0xb11/0xe90 fs/read_write.c:590 ksys_write+0x18f/0x2c0 fs/read_write.c:643 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae Freed by task 19499: kasan_save_stack mm/kasan/common.c:38 [inline] kasan_set_track+0x4c/0x80 mm/kasan/common.c:46 kasan_set_free_info+0x1f/0x40 mm/kasan/generic.c:370 ____kasan_slab_free+0x10d/0x150 mm/kasan/common.c:366 kasan_slab_free include/linux/kasan.h:235 [inline] slab_free_hook mm/slub.c:1723 [inline] slab_free_freelist_hook+0x12e/0x1a0 mm/slub.c:1749 slab_free mm/slub.c:3513 [inline] kfree+0xe1/0x330 mm/slub.c:4561 cgroup_pressure_write+0x26e/0x370 kernel/cgroup/cgroup.c:3651 cgroup_file_write+0x2b6/0x790 kernel/cgroup/cgroup.c:3852 kernfs_fop_write_iter+0x3b6/0x510 fs/kernfs/file.c:296 call_write_iter include/linux/fs.h:2162 [inline] new_sync_write fs/read_write.c:503 [inline] vfs_write+0xb11/0xe90 fs/read_write.c:590 ksys_write+0x18f/0x2c0 fs/read_write.c:643 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae Last potentially related work creation: kasan_save_stack+0x3b/0x60 mm/kasan/common.c:38 __kasan_record_aux_stack+0xfa/0x130 mm/kasan/generic.c:348 insert_work+0x54/0x400 kernel/workqueue.c:1354 __queue_work+0x928/0xc60 kernel/workqueue.c:1520 queue_work_on+0x12b/0x220 kernel/workqueue.c:1547 queue_work include/linux/workqueue.h:502 [inline] call_usermodehelper_exec+0x26d/0x430 kernel/umh.c:435 call_modprobe kernel/kmod.c:98 [inline] __request_module+0x398/0x7a0 kernel/kmod.c:170 dev_load+0x130/0x190 net/core/dev_ioctl.c:446 dev_ioctl+0x3b2/0xf30 net/core/dev_ioctl.c:511 sock_do_ioctl+0x21e/0x340 net/socket.c:1132 sock_ioctl+0x4a7/0x770 net/socket.c:1235 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:874 [inline] __se_sys_ioctl+0xfb/0x170 fs/ioctl.c:860 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae Second to last potentially related work creation: kasan_save_stack+0x3b/0x60 mm/kasan/common.c:38 __kasan_record_aux_stack+0xfa/0x130 mm/kasan/generic.c:348 insert_work+0x54/0x400 kernel/workqueue.c:1354 __queue_work+0x928/0xc60 kernel/workqueue.c:1520 queue_work_on+0x12b/0x220 kernel/workqueue.c:1547 queue_work include/linux/workqueue.h:502 [inline] call_usermodehelper_exec+0x26d/0x430 kernel/umh.c:435 call_modprobe kernel/kmod.c:98 [inline] __request_module+0x398/0x7a0 kernel/kmod.c:170 dev_load+0x130/0x190 net/core/dev_ioctl.c:446 dev_ioctl+0x3b2/0xf30 net/core/dev_ioctl.c:511 sock_do_ioctl+0x21e/0x340 net/socket.c:1132 sock_ioctl+0x4a7/0x770 net/socket.c:1235 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:874 [inline] __se_sys_ioctl+0xfb/0x170 fs/ioctl.c:860 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae The buggy address belongs to the object at ffff88807e543300 which belongs to the cache kmalloc-192 of size 192 The buggy address is located 64 bytes inside of 192-byte region [ffff88807e543300, ffff88807e5433c0) The buggy address belongs to the page: page:ffffea0001f950c0 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x7e543 flags: 0xfff00000000200(slab|node=0|zone=1|lastcpupid=0x7ff) raw: 00fff00000000200 ffffea0000b4a640 dead000000000004 ffff888011441a00 raw: 0000000000000000 0000000080100010 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as allocated page last allocated via order 0, migratetype Unmovable, gfp_mask 0x112c40(GFP_NOFS|__GFP_NOWARN|__GFP_NORETRY|__GFP_HARDWALL), pid 8325, ts 332253295820, free_ts 217174209385 prep_new_page mm/page_alloc.c:2418 [inline] get_page_from_freelist+0x729/0x9e0 mm/page_alloc.c:4149 __alloc_pages+0x255/0x580 mm/page_alloc.c:5369 __alloc_pages_node include/linux/gfp.h:570 [inline] alloc_slab_page mm/slub.c:1795 [inline] allocate_slab+0x89/0x540 mm/slub.c:1930 new_slab mm/slub.c:1993 [inline] ___slab_alloc+0x41e/0xc40 mm/slub.c:3022 __slab_alloc mm/slub.c:3109 [inline] slab_alloc_node mm/slub.c:3200 [inline] __kmalloc_node+0x2ec/0x420 mm/slub.c:4467 kmalloc_array_node include/linux/slab.h:686 [inline] kcalloc_node include/linux/slab.h:691 [inline] memcg_alloc_page_obj_cgroups+0x7c/0x120 mm/memcontrol.c:2827 account_slab_page mm/slab.h:424 [inline] allocate_slab+0x10c/0x540 mm/slub.c:1946 new_slab mm/slub.c:1993 [inline] ___slab_alloc+0x41e/0xc40 mm/slub.c:3022 __slab_alloc mm/slub.c:3109 [inline] slab_alloc_node mm/slub.c:3200 [inline] slab_alloc mm/slub.c:3242 [inline] kmem_cache_alloc+0x276/0x310 mm/slub.c:3247 fat_alloc_inode+0x19/0xa0 fs/fat/inode.c:748 alloc_inode fs/inode.c:235 [inline] new_inode_pseudo+0x61/0x220 fs/inode.c:944 new_inode+0x25/0x1d0 fs/inode.c:973 fat_fill_super+0x3356/0x5340 fs/fat/inode.c:1855 mount_bdev+0x26c/0x3a0 fs/super.c:1370 legacy_get_tree+0xea/0x180 fs/fs_context.c:610 vfs_get_tree+0x86/0x270 fs/super.c:1500 page last free stack trace: reset_page_owner include/linux/page_owner.h:24 [inline] free_pages_prepare mm/page_alloc.c:1338 [inline] free_pcp_prepare+0xd1c/0xe00 mm/page_alloc.c:1389 free_unref_page_prepare mm/page_alloc.c:3309 [inline] free_unref_page+0x7d/0x580 mm/page_alloc.c:3388 free_slab mm/slub.c:2033 [inline] discard_slab mm/slub.c:2039 [inline] __unfreeze_partials+0x1ab/0x200 mm/slub.c:2527 put_cpu_partial+0x116/0x180 mm/slub.c:2603 do_slab_free mm/slub.c:3501 [inline] ___cache_free+0xe6/0x120 mm/slub.c:3520 qlist_free_all mm/kasan/quarantine.c:165 [inline] kasan_quarantine_reduce+0x151/0x1c0 mm/kasan/quarantine.c:272 __kasan_slab_alloc+0x2f/0xf0 mm/kasan/common.c:444 kasan_slab_alloc include/linux/kasan.h:259 [inline] slab_post_alloc_hook mm/slab.h:519 [inline] slab_alloc_node mm/slub.c:3234 [inline] slab_alloc mm/slub.c:3242 [inline] __kmalloc_track_caller+0x21e/0x370 mm/slub.c:4925 kvasprintf+0xd6/0x180 lib/kasprintf.c:25 kobject_set_name_vargs+0x5d/0x110 lib/kobject.c:289 kobject_add_varg lib/kobject.c:384 [inline] kobject_init_and_add+0xdb/0x190 lib/kobject.c:473 netdev_queue_add_kobject net/core/net-sysfs.c:1665 [inline] netdev_queue_update_kobjects+0x1ab/0x430 net/core/net-sysfs.c:1710 register_queue_kobjects net/core/net-sysfs.c:1771 [inline] netdev_register_kobject+0x263/0x310 net/core/net-sysfs.c:2014 register_netdevice+0x127a/0x1c00 net/core/dev.c:10336 veth_newlink+0x6cc/0xf80 drivers/net/veth.c:1699 __rtnl_newlink net/core/rtnetlink.c:3458 [inline] rtnl_newlink+0x14b3/0x1d10 net/core/rtnetlink.c:3506 Memory state around the buggy address: ffff88807e543200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff88807e543280: 00 00 00 fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff88807e543300: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff88807e543380: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ffff88807e543400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ==================================================================