summaryrefslogtreecommitdiff
path: root/drivers/infiniband
diff options
context:
space:
mode:
authorMustafa Ismail <mustafa.ismail@intel.com>2016-08-23 17:24:56 -0500
committerDoug Ledford <dledford@redhat.com>2016-08-24 11:31:40 -0400
commit433c58139f6a7d59824aadd23d6c9cac1d4e6100 (patch)
tree26f4e9d990c4f8b8d4aee7521ee15230727f217a /drivers/infiniband
parentd41d0910d97f05be987d2d60de7e8685c108963b (diff)
downloadlwn-433c58139f6a7d59824aadd23d6c9cac1d4e6100.tar.gz
lwn-433c58139f6a7d59824aadd23d6c9cac1d4e6100.zip
i40iw: Avoid writing to freed memory
iwpbl->iwmr points to the structure that contains iwpbl, which is iwmr. Setting this to NULL would result in writing to freed memory. So just free iwmr, and return. Fixes: d37498417947 ("i40iw: add files for iwarp interface") Reported-by: Stefan Assmann <sassmann@redhat.com> Signed-off-by: Mustafa Ismail <mustafa.ismail@intel.com> Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r--drivers/infiniband/hw/i40iw/i40iw_verbs.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/i40iw/i40iw_verbs.c b/drivers/infiniband/hw/i40iw/i40iw_verbs.c
index 722e5af1e3d8..6329c971c22f 100644
--- a/drivers/infiniband/hw/i40iw/i40iw_verbs.c
+++ b/drivers/infiniband/hw/i40iw/i40iw_verbs.c
@@ -1925,8 +1925,7 @@ static int i40iw_dereg_mr(struct ib_mr *ib_mr)
}
if (iwpbl->pbl_allocated)
i40iw_free_pble(iwdev->pble_rsrc, palloc);
- kfree(iwpbl->iwmr);
- iwpbl->iwmr = NULL;
+ kfree(iwmr);
return 0;
}