[PATCH][next] soc: fsl: dpio: fix memory leak of a struct qbman on error exit path

Leo Li leoyang.li at nxp.com
Wed Feb 20 07:56:56 AEDT 2019



> -----Original Message-----
> From: Colin King <colin.king at canonical.com>
> Sent: Tuesday, February 19, 2019 8:05 AM
> To: Roy Pledge <roy.pledge at nxp.com>; Leo Li <leoyang.li at nxp.com>;
> linuxppc-dev at lists.ozlabs.org; linux-arm-kernel at lists.infradead.org
> Cc: kernel-janitors at vger.kernel.org; linux-kernel at vger.kernel.org
> Subject: [PATCH][next] soc: fsl: dpio: fix memory leak of a struct qbman on
> error exit path
> 
> From: Colin Ian King <colin.king at canonical.com>
> 
> Currently the error check for a null reg leaks a struct qbman that was
> allocated earlier. Fix this by kfree'ing p on the error exit path.
> 
> Signed-off-by: Colin Ian King <colin.king at canonical.com>

Applied for next.  Thanks.

> ---
>  drivers/soc/fsl/dpio/qbman-portal.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/soc/fsl/dpio/qbman-portal.c
> b/drivers/soc/fsl/dpio/qbman-portal.c
> index 0bddb85c0ae5..5a73397ae79e 100644
> --- a/drivers/soc/fsl/dpio/qbman-portal.c
> +++ b/drivers/soc/fsl/dpio/qbman-portal.c
> @@ -180,6 +180,7 @@ struct qbman_swp *qbman_swp_init(const struct
> qbman_swp_desc *d)
>  	reg = qbman_read_register(p, QBMAN_CINH_SWP_CFG);
>  	if (!reg) {
>  		pr_err("qbman: the portal is not enabled!\n");
> +		kfree(p);
>  		return NULL;
>  	}
> 
> --
> 2.20.1



More information about the Linuxppc-dev mailing list