Re: [PATCH 1/3] RDMA/ocrdma: Fix memory leak in _ocrdma_alloc_pd()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2015-05-29 at 23:10 -0700, Roland Dreier wrote:
> From: Roland Dreier <roland@xxxxxxxxxxxxxxx>
> 
> If ocrdma_get_pd_num() fails, then we need to free the pd struct we allocated.
> 
> This was detected by Coverity (CID 1271245).
> 
> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx>

Thanks, series applied.

> ---
>  drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
> index 9dcb66077d6c..fcb86749efc9 100644
> --- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
> +++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
> @@ -375,7 +375,12 @@ static struct ocrdma_pd *_ocrdma_alloc_pd(struct ocrdma_dev *dev,
>  
>  	if (dev->pd_mgr->pd_prealloc_valid) {
>  		status = ocrdma_get_pd_num(dev, pd);
> -		return (status == 0) ? pd : ERR_PTR(status);
> +		if (status == 0) {
> +			return pd;
> +		} else {
> +			kfree(pd);
> +			return ERR_PTR(status);
> +		}
>  	}
>  
>  retry:


-- 
Doug Ledford <dledford@xxxxxxxxxx>
              GPG KeyID: 0E572FDD

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux