================================================================== BUG: KASAN: use-after-free in __lock_acquire+0x3f13/0x57d0 kernel/locking/lockdep.c:4702 Read of size 8 at addr ffff8880168f3e40 by task syz-executor696/5897 CPU: 0 PID: 5897 Comm: syz-executor696 Not tainted 5.11.0-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:79 [inline] dump_stack+0x9a/0xcc lib/dump_stack.c:120 print_address_description.constprop.0.cold+0x5b/0x2f8 mm/kasan/report.c:230 __kasan_report mm/kasan/report.c:396 [inline] kasan_report.cold+0x79/0xd5 mm/kasan/report.c:413 __lock_acquire+0x3f13/0x57d0 kernel/locking/lockdep.c:4702 lock_acquire kernel/locking/lockdep.c:5442 [inline] lock_acquire+0x1a8/0x720 kernel/locking/lockdep.c:5407 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:159 remove_wait_queue+0x1d/0x180 kernel/sched/wait.c:55 ep_remove_wait_queue+0x71/0x110 fs/eventpoll.c:545 ep_unregister_pollwait fs/eventpoll.c:561 [inline] ep_remove+0xe0/0x860 fs/eventpoll.c:684 eventpoll_release_file+0xc8/0x110 fs/eventpoll.c:917 eventpoll_release include/linux/eventpoll.h:53 [inline] __fput+0x5ac/0x870 fs/file_table.c:271 task_work_run+0xc0/0x160 kernel/task_work.c:140 tracehook_notify_resume include/linux/tracehook.h:189 [inline] exit_to_user_mode_loop kernel/entry/common.c:174 [inline] exit_to_user_mode_prepare+0x249/0x250 kernel/entry/common.c:201 __syscall_exit_to_user_mode_work kernel/entry/common.c:283 [inline] syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x7fc53c978ee3 Code: c7 c2 c0 ff ff ff f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb ba 0f 1f 00 64 8b 04 25 18 00 00 00 85 c0 75 14 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 45 c3 0f 1f 40 00 48 83 ec 18 89 7c 24 0c e8 RSP: 002b:00007ffcf2f146c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000003 RAX: 0000000000000000 RBX: 0000000000000005 RCX: 00007fc53c978ee3 RDX: 000000000000002f RSI: 0000000020001340 RDI: 0000000000000004 RBP: 0000000000000000 R08: 0000000000000014 R09: 00007ffcf2f146f0 R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffcf2f146ec R13: 00007ffcf2f14700 R14: 00007ffcf2f14740 R15: 0000000000000000 Allocated by task 5897: kasan_save_stack+0x1b/0x40 mm/kasan/common.c:38 kasan_set_track mm/kasan/common.c:46 [inline] set_alloc_info mm/kasan/common.c:401 [inline] ____kasan_kmalloc.constprop.0+0x82/0xa0 mm/kasan/common.c:429 kmalloc include/linux/slab.h:552 [inline] psi_trigger_create.part.0+0x15e/0x830 kernel/sched/psi.c:1101 cgroup_pressure_write+0x117/0x4f0 kernel/cgroup/cgroup.c:3577 cgroup_file_write+0x268/0x690 kernel/cgroup/cgroup.c:3698 kernfs_fop_write_iter+0x2c5/0x460 fs/kernfs/file.c:296 call_write_iter include/linux/fs.h:1901 [inline] new_sync_write+0x35d/0x5f0 fs/read_write.c:518 vfs_write+0x5be/0x870 fs/read_write.c:605 ksys_write+0xf4/0x1d0 fs/read_write.c:658 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Freed by task 5897: kasan_save_stack+0x1b/0x40 mm/kasan/common.c:38 kasan_set_track+0x1c/0x30 mm/kasan/common.c:46 kasan_set_free_info+0x20/0x30 mm/kasan/generic.c:356 ____kasan_slab_free+0xe1/0x110 mm/kasan/common.c:362 kasan_slab_free include/linux/kasan.h:192 [inline] slab_free_hook mm/slub.c:1547 [inline] slab_free_freelist_hook+0x5d/0x150 mm/slub.c:1580 slab_free mm/slub.c:3143 [inline] kfree+0xdb/0x3b0 mm/slub.c:4139 cgroup_pressure_write+0x12f/0x4f0 kernel/cgroup/cgroup.c:3583 cgroup_file_write+0x268/0x690 kernel/cgroup/cgroup.c:3698 kernfs_fop_write_iter+0x2c5/0x460 fs/kernfs/file.c:296 call_write_iter include/linux/fs.h:1901 [inline] new_sync_write+0x35d/0x5f0 fs/read_write.c:518 vfs_write+0x5be/0x870 fs/read_write.c:605 ksys_write+0xf4/0x1d0 fs/read_write.c:658 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Last potentially related work creation: kasan_save_stack+0x1b/0x40 mm/kasan/common.c:38 kasan_record_aux_stack+0xc5/0xf0 mm/kasan/generic.c:344 insert_work+0x42/0x300 kernel/workqueue.c:1331 __queue_work+0x497/0xcb0 kernel/workqueue.c:1497 queue_work_on+0x6d/0x80 kernel/workqueue.c:1524 queue_work include/linux/workqueue.h:507 [inline] call_usermodehelper_exec+0x1b8/0x430 kernel/umh.c:433 kobject_uevent_env+0xc6f/0x12c0 lib/kobject_uevent.c:617 device_add+0x941/0x1ad0 drivers/base/core.c:3090 device_create_groups_vargs+0x1c8/0x230 drivers/base/core.c:3759 device_create+0xa1/0xd0 drivers/base/core.c:3801 bdi_register_va.part.0+0x91/0x6d0 mm/backing-dev.c:810 bdi_register_va mm/backing-dev.c:845 [inline] bdi_register+0x110/0x130 mm/backing-dev.c:842 __device_add_disk+0xa42/0x1020 block/genhd.c:748 add_disk include/linux/genhd.h:241 [inline] nbd_dev_add+0x661/0x850 drivers/block/nbd.c:1739 nbd_init+0x160/0x175 drivers/block/nbd.c:2394 do_one_initcall+0xbe/0x430 init/main.c:1223 do_initcall_level init/main.c:1296 [inline] do_initcalls init/main.c:1312 [inline] do_basic_setup init/main.c:1332 [inline] kernel_init_freeable+0x570/0x5ca init/main.c:1533 kernel_init+0x8/0x108 init/main.c:1421 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:296 The buggy address belongs to the object at ffff8880168f3e00 which belongs to the cache kmalloc-192 of size 192 The buggy address is located 64 bytes inside of 192-byte region [ffff8880168f3e00, ffff8880168f3ec0) The buggy address belongs to the page: page:000000000a139344 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x168f3 flags: 0xfff00000000200(slab) raw: 00fff00000000200 0000000000000000 0000000a00000001 ffff88800f441500 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 0x12cc0(GFP_KERNEL|__GFP_NOWARN|__GFP_NORETRY), pid 1, ts 6743796608 set_page_owner include/linux/page_owner.h:31 [inline] post_alloc_hook+0x144/0x1c0 mm/page_alloc.c:2297 prep_new_page mm/page_alloc.c:2306 [inline] get_page_from_freelist+0x1c6e/0x3f80 mm/page_alloc.c:3945 __alloc_pages_nodemask+0x2d6/0x730 mm/page_alloc.c:4995 __alloc_pages include/linux/gfp.h:511 [inline] alloc_page_interleave+0xf/0x190 mm/mempolicy.c:2133 alloc_pages include/linux/gfp.h:547 [inline] alloc_slab_page mm/slub.c:1618 [inline] allocate_slab+0x2b6/0x4a0 mm/slub.c:1758 new_slab mm/slub.c:1821 [inline] new_slab_objects mm/slub.c:2578 [inline] ___slab_alloc+0x476/0x790 mm/slub.c:2741 __slab_alloc.constprop.0+0x95/0xe0 mm/slub.c:2781 slab_alloc_node mm/slub.c:2857 [inline] slab_alloc mm/slub.c:2900 [inline] kmem_cache_alloc_trace+0x2cc/0x360 mm/slub.c:2917 kmalloc include/linux/slab.h:552 [inline] kzalloc include/linux/slab.h:682 [inline] call_usermodehelper_setup+0x7f/0x300 kernel/umh.c:363 kobject_uevent_env+0xc5b/0x12c0 lib/kobject_uevent.c:613 device_add+0x941/0x1ad0 drivers/base/core.c:3090 device_create_groups_vargs+0x1c8/0x230 drivers/base/core.c:3759 device_create+0xa1/0xd0 drivers/base/core.c:3801 bdi_register_va.part.0+0x91/0x6d0 mm/backing-dev.c:810 bdi_register_va mm/backing-dev.c:845 [inline] bdi_register+0x110/0x130 mm/backing-dev.c:842 __device_add_disk+0xa42/0x1020 block/genhd.c:748 page last free stack trace: reset_page_owner include/linux/page_owner.h:24 [inline] free_pages_prepare mm/page_alloc.c:1271 [inline] free_pcp_prepare+0x2cb/0x410 mm/page_alloc.c:1306 free_unref_page_prepare mm/page_alloc.c:3200 [inline] free_unref_page+0x12/0x1b0 mm/page_alloc.c:3248 mm_free_pgd kernel/fork.c:632 [inline] __mmdrop+0xb9/0x350 kernel/fork.c:683 free_bprm+0x5b/0x290 fs/exec.c:1477 kernel_execve+0x2cc/0x3e0 fs/exec.c:1971 call_usermodehelper_exec_async+0x2c1/0x500 kernel/umh.c:110 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:296 Memory state around the buggy address: ffff8880168f3d00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff8880168f3d80: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc >ffff8880168f3e00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8880168f3e80: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ffff8880168f3f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ==================================================================