summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMustafa Ismail <mustafa.ismail@intel.com>2016-08-23 02:01:47 +0200
committerDoug Ledford <dledford@redhat.com>2016-08-24 17:25:34 +0200
commit7eaf8313b1cfe93417a22bdc3f7380cac2a3dc6d (patch)
treee1b47dcc88e26ab30f658651c1a681056f1e13c0
parenti40iw: Add missing NULL check for MPA private data (diff)
downloadlinux-7eaf8313b1cfe93417a22bdc3f7380cac2a3dc6d.tar.xz
linux-7eaf8313b1cfe93417a22bdc3f7380cac2a3dc6d.zip
i40iw: Do not set self-referencing pointer to NULL after kfree
In i40iw_free_virt_mem(), do not set mem->va to NULL after freeing it as mem->va is a self-referencing pointer to mem. Fixes: 4e9042e647ff ("i40iw: add hw and utils files") 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>
-rw-r--r--drivers/infiniband/hw/i40iw/i40iw_utils.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/i40iw/i40iw_utils.c b/drivers/infiniband/hw/i40iw/i40iw_utils.c
index 0e8db0a35141..6fd043b1d714 100644
--- a/drivers/infiniband/hw/i40iw/i40iw_utils.c
+++ b/drivers/infiniband/hw/i40iw/i40iw_utils.c
@@ -673,8 +673,11 @@ enum i40iw_status_code i40iw_free_virt_mem(struct i40iw_hw *hw,
{
if (!mem)
return I40IW_ERR_PARAM;
+ /*
+ * mem->va points to the parent of mem, so both mem and mem->va
+ * can not be touched once mem->va is freed
+ */
kfree(mem->va);
- mem->va = NULL;
return 0;
}