Message ID | 20241116175748571awvOCFyR9lCLwe61IhOXL@zte.com.cn (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [STABLE,5.10] RDMA/restrack: Release MR/QP restrack when delete | expand |
On Sat, Nov 16, 2024 at 05:57:48PM +0800, jiang.kun2@zte.com.cn wrote: > From: tuqiang <tu.qiang35@zte.com.cn> > > The MR/QP restrack also needs to be released when delete it, otherwise it > cause memory leak as the task struct won't be released. > > This problem has been fixed by the commit <dac153f2802d> > ("RDMA/restrack: Release MR restrack when delete"), but still exists in the > linux-5.10.y branch. Why don't we just take the correct fix? Why is this needed instead? thanks, greg k-h
diff --git a/drivers/infiniband/core/restrack.c b/drivers/infiniband/core/restrack.c index bbbbec5b1593..d5a69c4a1891 100644 --- a/drivers/infiniband/core/restrack.c +++ b/drivers/infiniband/core/restrack.c @@ -326,8 +326,6 @@ void rdma_restrack_del(struct rdma_restrack_entry *res) rt = &dev->res[res->type]; old = xa_erase(&rt->xa, res->id); - if (res->type == RDMA_RESTRACK_MR || res->type == RDMA_RESTRACK_QP) - return; WARN_ON(old != res); res->valid = false;