================================================================== BUG: KFENCE: use-after-free read in __ethtool_get_link_ksettings+0x73/0x190 Use-after-free read at 0xffff88823bfbc2e8 (in kfence-#221): __ethtool_get_link_ksettings+0x73/0x190 ib_get_eth_speed+0x160/0x800 drivers/infiniband/core/verbs.c:1996 rxe_query_port+0x95/0x3b0 drivers/infiniband/sw/rxe/rxe_verbs.c:62 __ib_query_port drivers/infiniband/core/device.c:2095 [inline] ib_query_port+0x166/0x7d0 drivers/infiniband/core/device.c:2127 smc_ib_remember_port_attr net/smc/smc_ib.c:364 [inline] smc_ib_port_event_work+0x14e/0xa90 net/smc/smc_ib.c:388 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0xabe/0x18e0 kernel/workqueue.c:3319 worker_thread+0x870/0xd30 kernel/workqueue.c:3400 kthread+0x7a9/0x920 kernel/kthread.c:464 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 kfence-#221: 0xffff88823bfbc000-0xffff88823bfbcda7, size=3496, cache=kmalloc-cg-4k allocated by task 5847 on cpu 1 at 60.240800s (232.308085s ago): __kvmalloc_node_noprof+0x72/0x190 mm/util.c:662 alloc_netdev_mqs+0xa4/0x1210 net/core/dev.c:11547 rtnl_create_link+0x2f9/0xc90 net/core/rtnetlink.c:3605 rtnl_newlink_create+0x210/0xa40 net/core/rtnetlink.c:3781 __rtnl_newlink net/core/rtnetlink.c:3907 [inline] rtnl_newlink+0x17cc/0x1d30 net/core/rtnetlink.c:4022 rtnetlink_rcv_msg+0x791/0xcf0 net/core/rtnetlink.c:6912 netlink_rcv_skb+0x206/0x480 net/netlink/af_netlink.c:2533 netlink_unicast_kernel net/netlink/af_netlink.c:1312 [inline] netlink_unicast+0x7f6/0x990 net/netlink/af_netlink.c:1338 netlink_sendmsg+0x8de/0xcb0 net/netlink/af_netlink.c:1882 sock_sendmsg_nosec net/socket.c:718 [inline] __sock_sendmsg+0x221/0x270 net/socket.c:733 __sys_sendto+0x363/0x4c0 net/socket.c:2187 __do_sys_sendto net/socket.c:2194 [inline] __se_sys_sendto net/socket.c:2190 [inline] __x64_sys_sendto+0xde/0x100 net/socket.c:2190 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f freed by task 12 on cpu 1 at 292.375287s (0.251957s ago): device_release+0x99/0x1c0 kobject_cleanup lib/kobject.c:689 [inline] kobject_release lib/kobject.c:720 [inline] kref_put include/linux/kref.h:65 [inline] kobject_put+0x22f/0x480 lib/kobject.c:737 netdev_run_todo+0xd9d/0xf30 net/core/dev.c:11248 default_device_exit_batch+0x804/0x880 net/core/dev.c:12432 ops_exit_list net/core/net_namespace.c:177 [inline] cleanup_net+0x8ad/0xd60 net/core/net_namespace.c:652 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0xabe/0x18e0 kernel/workqueue.c:3319 worker_thread+0x870/0xd30 kernel/workqueue.c:3400 kthread+0x7a9/0x920 kernel/kthread.c:464 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 CPU: 1 UID: 0 PID: 10172 Comm: kworker/1:64 Not tainted 6.14.0-rc4-syzkaller-00177-ga466fd7e9faf #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 Workqueue: events smc_ib_port_event_work RIP: 0010:__ethtool_get_link_ksettings+0x73/0x190 net/ethtool/ioctl.c:442 Code: 00 00 00 00 fc ff df 4d 8d a7 e8 02 00 00 4c 89 e5 48 c1 ed 03 42 80 7c 2d 00 00 74 08 4c 89 e7 e8 d2 1f 1b f8 bb e0 01 00 00 <49> 03 1c 24 48 89 d8 48 c1 e8 03 42 80 3c 28 00 74 08 48 89 df e8 RSP: 0018:ffffc9000497f848 EFLAGS: 00010246 RAX: ffffffff8a0dd922 RBX: 00000000000001e0 RCX: ffff8880573b5a00 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000 RBP: 1ffff110477f785d R08: ffffffff8a0dd919 R09: 1ffffffff1fdaa64 R10: dffffc0000000000 R11: fffffbfff1fdaa65 R12: ffff88823bfbc2e8 R13: dffffc0000000000 R14: ffffc9000497f8c0 R15: ffff88823bfbc000 FS: 0000000000000000(0000) GS:ffff8880b8700000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffff88823bfbc2e8 CR3: 00000000331e4000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: ib_get_eth_speed+0x160/0x800 drivers/infiniband/core/verbs.c:1996 rxe_query_port+0x95/0x3b0 drivers/infiniband/sw/rxe/rxe_verbs.c:62 __ib_query_port drivers/infiniband/core/device.c:2095 [inline] ib_query_port+0x166/0x7d0 drivers/infiniband/core/device.c:2127 smc_ib_remember_port_attr net/smc/smc_ib.c:364 [inline] smc_ib_port_event_work+0x14e/0xa90 net/smc/smc_ib.c:388 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0xabe/0x18e0 kernel/workqueue.c:3319 worker_thread+0x870/0xd30 kernel/workqueue.c:3400 kthread+0x7a9/0x920 kernel/kthread.c:464 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 ================================================================== ---------------- Code disassembly (best guess), 6 bytes skipped: 0: df 4d 8d fisttps -0x73(%rbp) 3: a7 cmpsl %es:(%rdi),%ds:(%rsi) 4: e8 02 00 00 4c call 0x4c00000b 9: 89 e5 mov %esp,%ebp b: 48 c1 ed 03 shr $0x3,%rbp f: 42 80 7c 2d 00 00 cmpb $0x0,0x0(%rbp,%r13,1) 15: 74 08 je 0x1f 17: 4c 89 e7 mov %r12,%rdi 1a: e8 d2 1f 1b f8 call 0xf81b1ff1 1f: bb e0 01 00 00 mov $0x1e0,%ebx * 24: 49 03 1c 24 add (%r12),%rbx <-- trapping instruction 28: 48 89 d8 mov %rbx,%rax 2b: 48 c1 e8 03 shr $0x3,%rax 2f: 42 80 3c 28 00 cmpb $0x0,(%rax,%r13,1) 34: 74 08 je 0x3e 36: 48 89 df mov %rbx,%rdi 39: e8 .byte 0xe8