Messages in this thread | | | Subject | Re: [PATCH v2 1/4] libnvdimm: fix memmory leaks in of_pmem.c | From | "Leizhen (ThunderTown)" <> | Date | Wed, 19 Aug 2020 22:19:36 +0800 |
| |
On 8/19/2020 9:37 PM, Oliver O'Halloran wrote: > On Wed, Aug 19, 2020 at 12:05 PM Zhen Lei <thunder.leizhen@huawei.com> wrote: >> >> The memory priv->bus_desc.provider_name allocated by kstrdup() is not >> freed correctly. >> >> Fixes: 49bddc73d15c ("libnvdimm/of_pmem: Provide a unique name for bus provider") >> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> > > Yep, that's a bug. > > Reviewed-by: Oliver O'Halloran <oohall@gmail.com>
Thanks for your review.
> >> --- >> drivers/nvdimm/of_pmem.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/nvdimm/of_pmem.c b/drivers/nvdimm/of_pmem.c >> index 10dbdcdfb9ce913..1292ffca7b2ecc0 100644 >> --- a/drivers/nvdimm/of_pmem.c >> +++ b/drivers/nvdimm/of_pmem.c >> @@ -36,6 +36,7 @@ static int of_pmem_region_probe(struct platform_device *pdev) >> >> priv->bus = bus = nvdimm_bus_register(&pdev->dev, &priv->bus_desc); >> if (!bus) { >> + kfree(priv->bus_desc.provider_name); >> kfree(priv); >> return -ENODEV; >> } >> @@ -83,6 +84,7 @@ static int of_pmem_region_remove(struct platform_device *pdev) >> struct of_pmem_private *priv = platform_get_drvdata(pdev); >> >> nvdimm_bus_unregister(priv->bus); >> + kfree(priv->bus_desc.provider_name); >> kfree(priv); >> >> return 0; >> -- >> 1.8.3 >> >> > > . >
| |