Re: [PATCH v4 1/4] RDMA/core: Fix memory free for GID table

From: Jason Gunthorpe

Date: Tue Apr 07 2026 - 10:54:34 EST


On Mon, Apr 06, 2026 at 09:28:26PM +0800, zhenwei pi wrote:
> Remove RXE device, kernel shows:
> RIP: 0010:free_large_kmalloc+0xf6/0x140
> Code: 75 28 0f 0b 44 0f b6 2d a5 d6 d1 01 41 80 fd 01 0f 87 7c d1 ad ff 41 83 e5 01 74 3d 41 bc 00 f0 ff ff 45 31 ed e9 61 ff ff ff <0f> 0b 48 c7 c6 af b1 70 83 48 89 df e8 79 0a fa ff 5b 41 5c 41 5d
> RSP: 0018:ffffd038c18074d8 EFLAGS: 00010293
> RAX: 0017ffffc0000000 RBX: fffff86984219d00 RCX: 0000000000000000
> RDX: 00000000000000f0 RSI: ffff899b88674000 RDI: fffff86984219d00
> RBP: ffffd038c18074f0 R08: 0000000000000000 R09: 0000000000000000
> R10: 0000000000000000 R11: 0000000000000000 R12: ffff899b88674000
> R13: 0000000000000001 R14: ffff899b88674000 R15: ffff899b86180000
> FS: 00007b163c71c740(0000) GS:ffff899c378bf000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 00007b163c730200 CR3: 0000000106a1d000 CR4: 0000000000350ef0
> Call Trace:
> <TASK>
> kfree+0x163/0x3a0
> gid_table_release_one+0xaf/0xf0 [ib_core]
> ib_cache_release_one+0x66/0x80 [ib_core]
> ib_device_release+0x48/0xb0 [ib_core]
> device_release+0x44/0xa0
> kobject_put+0x9b/0x250
> put_device+0x13/0x30
> ib_unregister_device_and_put+0x40/0x60 [ib_core]
> nldev_dellink+0xd3/0x140 [ib_core]
> rdma_nl_rcv_msg+0x11d/0x300 [ib_core]
> ? netlink_bind+0x141/0x3a0
> rdma_nl_rcv_skb.constprop.0.isra.0+0xba/0x110 [ib_core]
> rdma_nl_rcv+0xe/0x20 [ib_core]
> netlink_unicast+0x28d/0x3e0
> netlink_sendmsg+0x214/0x470
> __sys_sendto+0x21f/0x230
> __x64_sys_sendto+0x24/0x40
> x64_sys_call+0x1888/0x26e0
> do_syscall_64+0xcb/0x14d0
> ? _copy_from_user+0x27/0x70
> ? do_sock_setsockopt+0xbd/0x190
> ? __sys_setsockopt+0x72/0xd0
> ? __x64_sys_setsockopt+0x1f/0x40
> ? x64_sys_call+0x221b/0x26e0
> ? do_syscall_64+0x109/0x14d0
> ? exc_page_fault+0x92/0x1c0
> entry_SYSCALL_64_after_hwframe+0x76/0x7e
>
> GID table is allocated by *kzalloc_flex* instead of raw *kzalloc_obj*,
> it also should be released in new style.
>
> Fixes: 74e2711bb2af ("RDMA/core: Use kzalloc_flex for GID table")
> Signed-off-by: zhenwei pi <zhenwei.pi@xxxxxxxxx>
> ---
> drivers/infiniband/core/cache.c | 1 -
> 1 file changed, 1 deletion(-)

Applied this patch to for-next

Jason