Messages in this thread | | | Subject | Re: [PATCH] dax/hmem: Fix refcount leak in dax_hmem_probe() | From | Yongqiang Liu <> | Date | Tue, 6 Dec 2022 17:17:33 +0800 |
| |
在 2022/12/4 4:49, Ira Weiny 写道: > On Sat, Dec 03, 2022 at 09:58:58AM +0000, Yongqiang Liu wrote: >> We should always call dax_region_put() whenever devm_create_dev_dax() >> succeed or fail to avoid refcount leak of dax_region. Move the return >> value check after dax_region_put(). > I think dax_region_put is called from dax_region_unregister() automatically on > tear down. Yes, Thanks for your explanation. >> Fixes: c01044cc8191 ("ACPI: HMAT: refactor hmat_register_target_device to hmem_register_device") > I'm also not sure how this patch is related to this fix. > > Ira > >> Signed-off-by: Yongqiang Liu <liuyongqiang13@huawei.com> >> --- >> drivers/dax/hmem/hmem.c | 5 ++--- >> 1 file changed, 2 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/dax/hmem/hmem.c b/drivers/dax/hmem/hmem.c >> index 1bf040dbc834..09f5cd7b6c8e 100644 >> --- a/drivers/dax/hmem/hmem.c >> +++ b/drivers/dax/hmem/hmem.c >> @@ -36,12 +36,11 @@ static int dax_hmem_probe(struct platform_device *pdev) >> .size = region_idle ? 0 : resource_size(res), >> }; >> dev_dax = devm_create_dev_dax(&data); >> - if (IS_ERR(dev_dax)) >> - return PTR_ERR(dev_dax); >> >> /* child dev_dax instances now own the lifetime of the dax_region */ >> dax_region_put(dax_region); >> - return 0; >> + >> + return IS_ERR(dev_dax) ? PTR_ERR(dev_dax) : 0; >> } >> >> static int dax_hmem_remove(struct platform_device *pdev) >> -- >> 2.25.1 >> >> > .
| |