================================================================== BUG: KASAN: use-after-free in __lock_acquire+0x3c2f/0x5470 kernel/locking/lockdep.c:4897 Read of size 8 at addr ffff88804e43b740 by task syz-executor.3/16918 CPU: 0 PID: 16918 Comm: syz-executor.3 Not tainted 5.16.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:88 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106 print_address_description.constprop.0.cold+0x8d/0x320 mm/kasan/report.c:255 __kasan_report mm/kasan/report.c:442 [inline] kasan_report.cold+0x83/0xdf mm/kasan/report.c:459 __lock_acquire+0x3c2f/0x5470 kernel/locking/lockdep.c:4897 lock_acquire kernel/locking/lockdep.c:5637 [inline] lock_acquire+0x1ab/0x510 kernel/locking/lockdep.c:5602 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:162 remove_wait_queue+0x1d/0x180 kernel/sched/wait.c:55 ep_remove_wait_queue+0x88/0x1a0 fs/eventpoll.c:545 ep_unregister_pollwait fs/eventpoll.c:561 [inline] ep_remove+0x106/0x9c0 fs/eventpoll.c:690 eventpoll_release_file+0xe1/0x130 fs/eventpoll.c:923 eventpoll_release include/linux/eventpoll.h:53 [inline] __fput+0x87b/0x9f0 fs/file_table.c:271 task_work_run+0xdd/0x1a0 kernel/task_work.c:164 tracehook_notify_resume include/linux/tracehook.h:189 [inline] exit_to_user_mode_loop kernel/entry/common.c:175 [inline] exit_to_user_mode_prepare+0x27e/0x290 kernel/entry/common.c:207 __syscall_exit_to_user_mode_work kernel/entry/common.c:289 [inline] syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:300 do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f96b0d60c2b Code: 0f 05 48 3d 00 f0 ff ff 77 45 c3 0f 1f 40 00 48 83 ec 18 89 7c 24 0c e8 63 fc ff ff 8b 7c 24 0c 41 89 c0 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 35 44 89 c7 89 44 24 0c e8 a1 fc ff ff 8b 44 RSP: 002b:00007fff48a27e40 EFLAGS: 00000293 ORIG_RAX: 0000000000000003 RAX: 0000000000000000 RBX: 0000000000000005 RCX: 00007f96b0d60c2b RDX: 0000001b2e720000 RSI: 0000000000000000 RDI: 0000000000000004 RBP: 00007f96b0ec2960 R08: 0000000000000000 R09: 00007fff48b77080 R10: 00007fff48b77090 R11: 0000000000000293 R12: 00000000001414b8 R13: 00007f96b0ec6c30 R14: 00007f96b0ec1030 R15: 0000000000000001 Allocated by task 16922: kasan_save_stack+0x1e/0x50 mm/kasan/common.c:38 kasan_set_track mm/kasan/common.c:46 [inline] set_alloc_info mm/kasan/common.c:437 [inline] ____kasan_kmalloc mm/kasan/common.c:516 [inline] ____kasan_kmalloc mm/kasan/common.c:475 [inline] __kasan_kmalloc+0xa9/0xd0 mm/kasan/common.c:525 kmalloc include/linux/slab.h:582 [inline] psi_trigger_create.part.0+0x15e/0x7f0 kernel/sched/psi.c:1141 cgroup_pressure_write+0x17e/0x6e0 kernel/cgroup/cgroup.c:3647 cgroup_file_write+0x1de/0x760 kernel/cgroup/cgroup.c:3877 kernfs_fop_write_iter+0x342/0x500 fs/kernfs/file.c:296 call_write_iter include/linux/fs.h:2162 [inline] new_sync_write+0x429/0x660 fs/read_write.c:503 vfs_write+0x7cd/0xae0 fs/read_write.c:590 ksys_write+0x12d/0x250 fs/read_write.c:643 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae Freed by task 16928: kasan_save_stack+0x1e/0x50 mm/kasan/common.c:38 kasan_set_track+0x21/0x30 mm/kasan/common.c:46 kasan_set_free_info+0x20/0x30 mm/kasan/generic.c:370 ____kasan_slab_free mm/kasan/common.c:367 [inline] ____kasan_slab_free+0x130/0x160 mm/kasan/common.c:329 kasan_slab_free include/linux/kasan.h:236 [inline] slab_free_hook mm/slub.c:1728 [inline] slab_free_freelist_hook+0x8b/0x1c0 mm/slub.c:1754 slab_free mm/slub.c:3509 [inline] kfree+0xcb/0x280 mm/slub.c:4562 cgroup_pressure_write+0x1b3/0x6e0 kernel/cgroup/cgroup.c:3653 cgroup_file_write+0x1de/0x760 kernel/cgroup/cgroup.c:3877 kernfs_fop_write_iter+0x342/0x500 fs/kernfs/file.c:296 call_write_iter include/linux/fs.h:2162 [inline] new_sync_write+0x429/0x660 fs/read_write.c:503 vfs_write+0x7cd/0xae0 fs/read_write.c:590 ksys_write+0x12d/0x250 fs/read_write.c:643 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae Last potentially related work creation: kasan_save_stack+0x1e/0x50 mm/kasan/common.c:38 __kasan_record_aux_stack+0xbe/0xd0 mm/kasan/generic.c:348 insert_work+0x48/0x370 kernel/workqueue.c:1354 __queue_work+0x5ca/0xee0 kernel/workqueue.c:1520 queue_work_on+0xee/0x110 kernel/workqueue.c:1547 queue_work include/linux/workqueue.h:502 [inline] netdevice_queue_work drivers/infiniband/core/roce_gid_mgmt.c:659 [inline] netdevice_event+0x42f/0x8a0 drivers/infiniband/core/roce_gid_mgmt.c:802 notifier_call_chain+0xb5/0x200 kernel/notifier.c:84 call_netdevice_notifiers_info+0xb5/0x130 net/core/dev.c:1919 call_netdevice_notifiers_extack net/core/dev.c:1931 [inline] call_netdevice_notifiers net/core/dev.c:1945 [inline] unregister_netdevice_many+0x964/0x1850 net/core/dev.c:10409 unregister_netdevice_queue+0x2dd/0x3c0 net/core/dev.c:10343 unregister_netdevice include/linux/netdevice.h:2901 [inline] macsec_newlink+0x7dd/0x1760 drivers/net/macsec.c:4100 __rtnl_newlink+0x106e/0x1750 net/core/rtnetlink.c:3479 rtnl_newlink+0x64/0xa0 net/core/rtnetlink.c:3527 rtnetlink_rcv_msg+0x413/0xb80 net/core/rtnetlink.c:5592 netlink_rcv_skb+0x153/0x420 net/netlink/af_netlink.c:2494 netlink_unicast_kernel net/netlink/af_netlink.c:1317 [inline] netlink_unicast+0x539/0x7e0 net/netlink/af_netlink.c:1343 netlink_sendmsg+0x904/0xe00 net/netlink/af_netlink.c:1919 sock_sendmsg_nosec net/socket.c:705 [inline] sock_sendmsg+0xcf/0x120 net/socket.c:725 ____sys_sendmsg+0x6e8/0x810 net/socket.c:2413 ___sys_sendmsg+0xf3/0x170 net/socket.c:2467 __sys_sendmsg+0xe5/0x1b0 net/socket.c:2496 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae The buggy address belongs to the object at ffff88804e43b700 which belongs to the cache kmalloc-192 of size 192 The buggy address is located 64 bytes inside of 192-byte region [ffff88804e43b700, ffff88804e43b7c0) The buggy address belongs to the page: page:ffffea0001390ec0 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x4e43b flags: 0xfff00000000200(slab|node=0|zone=1|lastcpupid=0x7ff) raw: 00fff00000000200 ffffea0001fc1fc0 dead000000000004 ffff888010c41a00 raw: 0000000000000000 0000000000100010 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 0x112cc0(GFP_USER|__GFP_NOWARN|__GFP_NORETRY), pid 14230, ts 1270800185061, free_ts 1270649769101 prep_new_page mm/page_alloc.c:2418 [inline] get_page_from_freelist+0xa72/0x2f50 mm/page_alloc.c:4149 __alloc_pages+0x1b2/0x500 mm/page_alloc.c:5369 alloc_pages+0x1a7/0x300 mm/mempolicy.c:2190 alloc_slab_page mm/slub.c:1799 [inline] allocate_slab mm/slub.c:1944 [inline] new_slab+0x28a/0x3b0 mm/slub.c:2004 ___slab_alloc+0x87c/0xe90 mm/slub.c:3018 __slab_alloc.constprop.0+0x4d/0xa0 mm/slub.c:3105 slab_alloc_node mm/slub.c:3196 [inline] slab_alloc mm/slub.c:3238 [inline] kmem_cache_alloc_trace+0x289/0x2c0 mm/slub.c:3255 kmalloc include/linux/slab.h:582 [inline] kzalloc include/linux/slab.h:716 [inline] push_stack+0x77/0x560 kernel/bpf/verifier.c:1096 check_cond_jmp_op kernel/bpf/verifier.c:9394 [inline] do_check kernel/bpf/verifier.c:11584 [inline] do_check_common+0x6509/0xcfe0 kernel/bpf/verifier.c:13666 do_check_main kernel/bpf/verifier.c:13729 [inline] bpf_check+0x6f82/0xbac0 kernel/bpf/verifier.c:14298 bpf_prog_load+0xf55/0x21f0 kernel/bpf/syscall.c:2344 __sys_bpf+0x68a/0x5970 kernel/bpf/syscall.c:4634 __do_sys_bpf kernel/bpf/syscall.c:4738 [inline] __se_sys_bpf kernel/bpf/syscall.c:4736 [inline] __x64_sys_bpf+0x75/0xb0 kernel/bpf/syscall.c:4736 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae 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+0x374/0x870 mm/page_alloc.c:1389 free_unref_page_prepare mm/page_alloc.c:3309 [inline] free_unref_page+0x19/0x690 mm/page_alloc.c:3388 kasan_depopulate_vmalloc_pte+0x5c/0x70 mm/kasan/shadow.c:380 apply_to_pte_range mm/memory.c:2518 [inline] apply_to_pmd_range mm/memory.c:2562 [inline] apply_to_pud_range mm/memory.c:2598 [inline] apply_to_p4d_range mm/memory.c:2634 [inline] __apply_to_page_range+0x686/0x1030 mm/memory.c:2668 kasan_release_vmalloc+0xa7/0xc0 mm/kasan/shadow.c:490 __purge_vmap_area_lazy+0x8f9/0x1c50 mm/vmalloc.c:1708 _vm_unmap_aliases.part.0+0x3f0/0x500 mm/vmalloc.c:2111 _vm_unmap_aliases mm/vmalloc.c:2085 [inline] vm_unmap_aliases+0x45/0x50 mm/vmalloc.c:2134 change_page_attr_set_clr+0x241/0x500 arch/x86/mm/pat/set_memory.c:1743 change_page_attr_clear arch/x86/mm/pat/set_memory.c:1800 [inline] set_memory_ro+0x78/0xa0 arch/x86/mm/pat/set_memory.c:1946 bpf_jit_binary_lock_ro include/linux/filter.h:889 [inline] bpf_int_jit_compile+0xe92/0x1240 arch/x86/net/bpf_jit_comp.c:2382 bpf_prog_select_runtime+0x46b/0x780 kernel/bpf/core.c:1931 bpf_prog_load+0xf89/0x21f0 kernel/bpf/syscall.c:2348 __sys_bpf+0x68a/0x5970 kernel/bpf/syscall.c:4634 __do_sys_bpf kernel/bpf/syscall.c:4738 [inline] __se_sys_bpf kernel/bpf/syscall.c:4736 [inline] __x64_sys_bpf+0x75/0xb0 kernel/bpf/syscall.c:4736 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 Memory state around the buggy address: ffff88804e43b600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff88804e43b680: 00 fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff88804e43b700: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff88804e43b780: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ffff88804e43b800: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================