lkml.org 
[lkml]   [2024]   [Apr]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 2/2] cxl/region: Fix missing put_device(region_dev)
Date


On 29/04/2024 18:17, Dan Carpenter wrote:
> On Mon, Apr 29, 2024 at 09:31:54AM +0800, Li Zhijian wrote:
>>> mutex_lock(&cxlrd->range_lock);
>>> region_dev = device_find_child(&cxlrd->cxlsd.cxld.dev, hpa,
>>> match_region_by_range);
>>> if (!region_dev)
>>> cxlr = construct_region(cxlrd, cxled);
>>> else
>>> cxlr = to_cxl_region(region_dev);
>>> mutex_unlock(&cxlrd->range_lock);
>>>
>>> rc = PTR_ERR_OR_ZERO(cxlr);
>>> if (rc)
>>> goto out;
>>>
>>> if (!region_dev)
>>> region_dev = &cxlr->dev;
>>
>> When to_cxl_region(region_dev) fails,
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> to_cxl_region() will return NULL if "region_dev" is not a region device.
>
> 2215 static struct cxl_region *to_cxl_region(struct device *dev)
> 2216 {
> 2217 if (dev_WARN_ONCE(dev, dev->type != &cxl_region_type,
> 2218 "not a cxl_region device\n"))
> 2219 return NULL;
> 2220
> 2221 return container_of(dev, struct cxl_region, dev);
> 2222 }
>
> It won't fail.
>
> If it does fail, we're already in bad shape and it's not worth worrying
> about resource leaks at that point.
>

Sounds good to me,

Thanks
Zhijian


> regards,
> dan carpenter
>
>
\
 
 \ /
  Last update: 2024-04-29 12:27    [W:0.104 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site