Re: [PATCH] ocxl: Fix potential memory leak on context creation

2019-05-20 Thread Frederic Barrat




Le 20/05/2019 à 03:45, Andrew Donnellan a écrit :

On 18/5/19 12:20 am, Frederic Barrat wrote:

If we couldn't fully init a context, we were leaking memory.

Fixes: b9721d275cc2 ("ocxl: Allow external drivers to use OpenCAPI 
contexts")

Signed-off-by: Frederic Barrat 


Acked-by: Andrew Donnellan 


---
  drivers/misc/ocxl/context.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/drivers/misc/ocxl/context.c b/drivers/misc/ocxl/context.c
index bab9c9364184..ab93156aa83e 100644
--- a/drivers/misc/ocxl/context.c
+++ b/drivers/misc/ocxl/context.c
@@ -22,6 +22,7 @@ int ocxl_context_alloc(struct ocxl_context 
**context, struct ocxl_afu *afu,

  afu->pasid_base + afu->pasid_max, GFP_KERNEL);
  if (pasid < 0) {
  mutex_unlock(>contexts_lock);
+    kfree(*context);


(defensive programming: set *context = NULL so that if the caller 
ignores the return code we get an obvious crash)



Good point. v2 on its way



  return pasid;
  }
  afu->pasid_count++;







Re: [PATCH] ocxl: Fix potential memory leak on context creation

2019-05-19 Thread Andrew Donnellan

On 18/5/19 12:20 am, Frederic Barrat wrote:

If we couldn't fully init a context, we were leaking memory.

Fixes: b9721d275cc2 ("ocxl: Allow external drivers to use OpenCAPI contexts")
Signed-off-by: Frederic Barrat 


Acked-by: Andrew Donnellan 


---
  drivers/misc/ocxl/context.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/drivers/misc/ocxl/context.c b/drivers/misc/ocxl/context.c
index bab9c9364184..ab93156aa83e 100644
--- a/drivers/misc/ocxl/context.c
+++ b/drivers/misc/ocxl/context.c
@@ -22,6 +22,7 @@ int ocxl_context_alloc(struct ocxl_context **context, struct 
ocxl_afu *afu,
afu->pasid_base + afu->pasid_max, GFP_KERNEL);
if (pasid < 0) {
mutex_unlock(>contexts_lock);
+   kfree(*context);


(defensive programming: set *context = NULL so that if the caller 
ignores the return code we get an obvious crash)



return pasid;
}
afu->pasid_count++;



--
Andrew Donnellan  OzLabs, ADL Canberra
a...@linux.ibm.com IBM Australia Limited



[PATCH] ocxl: Fix potential memory leak on context creation

2019-05-17 Thread Frederic Barrat
If we couldn't fully init a context, we were leaking memory.

Fixes: b9721d275cc2 ("ocxl: Allow external drivers to use OpenCAPI contexts")
Signed-off-by: Frederic Barrat 
---
 drivers/misc/ocxl/context.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/misc/ocxl/context.c b/drivers/misc/ocxl/context.c
index bab9c9364184..ab93156aa83e 100644
--- a/drivers/misc/ocxl/context.c
+++ b/drivers/misc/ocxl/context.c
@@ -22,6 +22,7 @@ int ocxl_context_alloc(struct ocxl_context **context, struct 
ocxl_afu *afu,
afu->pasid_base + afu->pasid_max, GFP_KERNEL);
if (pasid < 0) {
mutex_unlock(>contexts_lock);
+   kfree(*context);
return pasid;
}
afu->pasid_count++;
-- 
2.21.0