On 16/08/2019 9.48, Wenwen Wang wrote: > In ti_dra7_xbar_probe(), 'rsv_events' is allocated through kcalloc(). Then > of_property_read_u32_array() is invoked to search for the property. > However, if this process fails, 'rsv_events' is not deallocated, leading to > a memory leak bug. To fix this issue, free 'rsv_events' before returning > the error. Thank you, Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> > Signed-off-by: Wenwen Wang <wenwen@xxxxxxxxxx> > --- > drivers/dma/ti/dma-crossbar.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/dma/ti/dma-crossbar.c b/drivers/dma/ti/dma-crossbar.c > index ad2f0a4..f255056 100644 > --- a/drivers/dma/ti/dma-crossbar.c > +++ b/drivers/dma/ti/dma-crossbar.c > @@ -391,8 +391,10 @@ static int ti_dra7_xbar_probe(struct platform_device *pdev) > > ret = of_property_read_u32_array(node, pname, (u32 *)rsv_events, > nelm * 2); > - if (ret) > + if (ret) { > + kfree(rsv_events); > return ret; > + } > > for (i = 0; i < nelm; i++) { > ti_dra7_xbar_reserve(rsv_events[i][0], rsv_events[i][1], > - Péter Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki