All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ocxl: Fix potential memory leak on context creation
@ 2019-05-17 14:20 Frederic Barrat
  2019-05-20  1:45 ` Andrew Donnellan
  0 siblings, 1 reply; 3+ messages in thread
From: Frederic Barrat @ 2019-05-17 14:20 UTC (permalink / raw)
  To: linuxppc-dev, andrew.donnellan, alastair; +Cc: clombard

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 <fbarrat@linux.ibm.com>
---
 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(&afu->contexts_lock);
+		kfree(*context);
 		return pasid;
 	}
 	afu->pasid_count++;
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] ocxl: Fix potential memory leak on context creation
  2019-05-17 14:20 [PATCH] ocxl: Fix potential memory leak on context creation Frederic Barrat
@ 2019-05-20  1:45 ` Andrew Donnellan
  2019-05-20  6:53   ` Frederic Barrat
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Donnellan @ 2019-05-20  1:45 UTC (permalink / raw)
  To: Frederic Barrat, linuxppc-dev, andrew.donnellan, alastair; +Cc: clombard

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 <fbarrat@linux.ibm.com>

Acked-by: Andrew Donnellan <ajd@linux.ibm.com>

> ---
>   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(&afu->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
ajd@linux.ibm.com             IBM Australia Limited


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] ocxl: Fix potential memory leak on context creation
  2019-05-20  1:45 ` Andrew Donnellan
@ 2019-05-20  6:53   ` Frederic Barrat
  0 siblings, 0 replies; 3+ messages in thread
From: Frederic Barrat @ 2019-05-20  6:53 UTC (permalink / raw)
  To: Andrew Donnellan, linuxppc-dev, andrew.donnellan, alastair; +Cc: clombard



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 <fbarrat@linux.ibm.com>
> 
> Acked-by: Andrew Donnellan <ajd@linux.ibm.com>
> 
>> ---
>>   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(&afu->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++;
>>
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-05-20  6:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-17 14:20 [PATCH] ocxl: Fix potential memory leak on context creation Frederic Barrat
2019-05-20  1:45 ` Andrew Donnellan
2019-05-20  6:53   ` Frederic Barrat

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.