Re: [PATCH v13 5/5] RDMA/mlx5: get tph for p2p access when registering dma-buf mr
Zhiping Zhang <[email protected]> Fri, 31 Jul 2026 15:59:15 -0700
| Newsgroups | org.kernel.vger.linux-pci,dev.linux.lists.sashiko-reviews,org.freedesktop.lists.dri-devel,org.kernel.vger.kvm |
|---|---|
| Message-ID | <CAH3zFs1Nhp2vWnoyDT6RpePRM3=JV9JeMuWz4jZwbnSTx=6PaQ@mail.gmail.com> |
On Fri, Jul 31, 2026 at 2:48 PM <[email protected]> wrote: ... > [Severity: High] > This is a pre-existing issue, but this patch introduces a new, heavily-exercised > reachable path for it. > > Does mlx5_st_dealloc_index() leak the mlx5_st_idx_data struct when erasing it > from the xarray? > > When a steering tag's reference count drops to zero, the entry is removed via > xa_erase(): > > drivers/net/ethernet/mellanox/mlx5/core/lib/st.c:mlx5_st_dealloc_index() { > ... > if (refcount_dec_and_test(&idx_data->usecount)) { > xa_erase(&st->idx_xa, st_index); > /* We leave PCI config space as was before, no mkey will refer to it */ > } > ... > } > > However, the underlying idx_data pointer is not freed with kfree(idx_data). > > Because the next time the same tag is requested, a new struct is allocated via > kzalloc_obj() in mlx5_st_alloc_index_by_tag(), won't repeated allocations and > deallocations lead to an unbounded kernel memory leak? > This is the leak fixed by "net/mlx5: free mlx5_st_idx_data on final dealloc" (df6134b527a8). Sashiko appears to have applied the series to a tree predating that commit.