================================================================== BUG: KASAN: use-after-free in siw_query_port+0x342/0x430 drivers/infiniband/sw/siw/siw_verbs.c:177 Read of size 4 at addr ffff8880560340e0 by task kworker/0:7/3774 CPU: 0 PID: 3774 Comm: kworker/0:7 Not tainted 6.1.111-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Workqueue: infiniband ib_cache_event_task Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106 print_address_description mm/kasan/report.c:284 [inline] print_report+0x15f/0x4f0 mm/kasan/report.c:395 kasan_report+0x136/0x160 mm/kasan/report.c:495 siw_query_port+0x342/0x430 drivers/infiniband/sw/siw/siw_verbs.c:177 ib_cache_update+0x1a8/0xaf0 drivers/infiniband/core/cache.c:1483 ib_cache_event_task+0xef/0x1e0 drivers/infiniband/core/cache.c:1557 process_one_work+0x8a9/0x11d0 kernel/workqueue.c:2292 worker_thread+0xa47/0x1200 kernel/workqueue.c:2439 kthread+0x28d/0x320 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 The buggy address belongs to the physical page: page:ffffea0001580d00 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x56034 head:ffffea0001580d00 order:2 compound_mapcount:0 compound_pincount:0 flags: 0xfff00000010000(head|node=0|zone=1|lastcpupid=0x7ff) raw: 00fff00000010000 0000000000000000 dead000000000122 0000000000000000 raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as allocated page last allocated via order 2, migratetype Unmovable, gfp_mask 0x152dc0(GFP_USER|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_ZERO), pid 4027, tgid 4026 (syz.4.33), ts 84519958612, free_ts 84313434981 set_page_owner include/linux/page_owner.h:31 [inline] post_alloc_hook+0x18d/0x1b0 mm/page_alloc.c:2517 prep_new_page mm/page_alloc.c:2524 [inline] get_page_from_freelist+0x322e/0x33b0 mm/page_alloc.c:4290 __alloc_pages+0x28d/0x770 mm/page_alloc.c:5558 __alloc_pages_node include/linux/gfp.h:237 [inline] alloc_pages_node include/linux/gfp.h:260 [inline] __kmalloc_large_node+0x91/0x1d0 mm/slab_common.c:1077 __do_kmalloc_node mm/slab_common.c:924 [inline] __kmalloc_node+0x111/0x230 mm/slab_common.c:943 kmalloc_node include/linux/slab.h:583 [inline] kvmalloc_node+0x6e/0x180 mm/util.c:581 kvmalloc include/linux/slab.h:710 [inline] kvzalloc include/linux/slab.h:718 [inline] btrfs_mount_root+0x13f/0x930 fs/btrfs/super.c:1776 legacy_get_tree+0xeb/0x180 fs/fs_context.c:632 vfs_get_tree+0x88/0x270 fs/super.c:1573 fc_mount fs/namespace.c:1043 [inline] vfs_kern_mount+0xb8/0x150 fs/namespace.c:1073 btrfs_mount+0x39b/0xb40 fs/btrfs/super.c:1895 legacy_get_tree+0xeb/0x180 fs/fs_context.c:632 vfs_get_tree+0x88/0x270 fs/super.c:1573 do_new_mount+0x2ba/0xb40 fs/namespace.c:3051 do_mount fs/namespace.c:3394 [inline] __do_sys_mount fs/namespace.c:3602 [inline] __se_sys_mount+0x2d5/0x3c0 fs/namespace.c:3579 do_syscall_x64 arch/x86/entry/common.c:51 [inline] do_syscall_64+0x3b/0xb0 arch/x86/entry/common.c:81 page last free stack trace: reset_page_owner include/linux/page_owner.h:24 [inline] free_pages_prepare mm/page_alloc.c:1444 [inline] free_pcp_prepare mm/page_alloc.c:1494 [inline] free_unref_page_prepare+0xf63/0x1120 mm/page_alloc.c:3369 free_unref_page+0x33/0x3e0 mm/page_alloc.c:3464 free_large_kmalloc+0xfb/0x190 mm/slab_common.c:913 device_release+0x91/0x1c0 kobject_cleanup lib/kobject.c:681 [inline] kobject_release lib/kobject.c:712 [inline] kref_put include/linux/kref.h:65 [inline] kobject_put+0x224/0x460 lib/kobject.c:729 netdev_run_todo+0xe56/0xf40 net/core/dev.c:10413 ieee80211_unregister_hw+0xfc/0x290 net/mac80211/main.c:1483 mac80211_hwsim_del_radio+0x2be/0x4a0 drivers/net/wireless/mac80211_hwsim.c:4683 hwsim_exit_net+0x5b8/0x660 drivers/net/wireless/mac80211_hwsim.c:5470 ops_exit_list net/core/net_namespace.c:172 [inline] cleanup_net+0x6ce/0xb60 net/core/net_namespace.c:604 process_one_work+0x8a9/0x11d0 kernel/workqueue.c:2292 worker_thread+0xa47/0x1200 kernel/workqueue.c:2439 kthread+0x28d/0x320 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 Memory state around the buggy address: ffff888056033f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff888056034000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff888056034080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ^ ffff888056034100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff888056034180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ==================================================================