| From 7cea0359b77e110edfa9ddabdf8497168a4c4cc0 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 7 Nov 2022 10:51:34 +0200 |
| Subject: RDMA/restrack: Release MR restrack when delete |
| |
| From: Mark Zhang <markzhang@nvidia.com> |
| |
| [ Upstream commit dac153f2802db1ad46207283cb9b2aae3d707a45 ] |
| |
| The MR restrack also needs to be released when delete it, otherwise it |
| cause memory leak as the task struct won't be released. |
| |
| Fixes: 13ef5539def7 ("RDMA/restrack: Count references to the verbs objects") |
| Signed-off-by: Mark Zhang <markzhang@nvidia.com> |
| Reviewed-by: Michael Guralnik <michaelgur@nvidia.com> |
| Link: https://lore.kernel.org/r/703db18e8d4ef628691fb93980a709be673e62e3.1667810736.git.leonro@nvidia.com |
| Signed-off-by: Leon Romanovsky <leon@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/infiniband/core/restrack.c | 2 -- |
| 1 file changed, 2 deletions(-) |
| |
| diff --git a/drivers/infiniband/core/restrack.c b/drivers/infiniband/core/restrack.c |
| index 1f935d9f6178..01a499a8b88d 100644 |
| --- a/drivers/infiniband/core/restrack.c |
| +++ b/drivers/infiniband/core/restrack.c |
| @@ -343,8 +343,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) |
| - return; |
| WARN_ON(old != res); |
| |
| out: |
| -- |
| 2.35.1 |
| |