Subject: Re: Resource usages in Linux drivers

From: Jia-Ju Bai <[email-masked]>
Date: Thu, 23 Apr 2015 17:29:05 +0800

Thank you!

On 04/23/2015 05:19 PM, Sergei Shtylyov wrote:
> Hello.
>
> On 4/23/2015 9:45 AM, Jia-Ju Bai wrote:
>
>> Dear Sir,
>
>> I am very sorry to trouble you.
>
>> I find that resource management is error-prone when writing Linux 
>> drivers, and
>> many problems may occur, such as resource leaks.
>> Meanwhile, I find that many applied patches in the kernel mailing 
>> list focus
>> on releasing allocated resources, especially in error-handling paths.
>
>> Therefore, I have a question: is it possible to automatically release
>> allocated resources in drivers before unloading and in error-handling 
>> paths?
>
>    Yes, there's managed device API, look for functions starting with 
> devm_.
> There's one limitation though: it can be used only in the driver's 
> probe() method, so can't be used when e.g. network device is being 
> opened.
I think many APIs, such as kmalloc, can also be managed like garbage 
collection in Java.
Maybe the performance is a matter.

>
>> I am looking forward to your reply, thanks!
>
>    Such questions should actually be asked on the mailing lists, not 
> personally.
>
I am sorry for that, and I will cc to the mailing lists and other 
maintainers.