Hey,

On Thu, May 16, 2013 at 12:48:43PM +0800, Chen Gang wrote:
> __sysfs_remove_dir() remove all related things, but not deref the count.
> 
> For __sysfs_remove_dir() ->
>   ...
>   sysfs_addrm_start()
>   ...
>   while() {
>     ...
>     sysfs_remove_one()  (not deref the related file)
>   }
>   sysfs_addrm_finish()  (will deref current dir)
> 
> For device_remove_file() ->
>   sysfs_remove_file() ->
>     sysfs_hash_and_remove() ->
>       ...
>       sysfs_addrm_start()
>       ...
>       sysfs_remove_one() (not deref the current file)
>       sysfs_addrm_finish()  (will deref current file)
> 
> 
> So if not call device_remove_file() firstly, the all files under the
> directory are removed, but the related resources are not released which
> will cause resource leak.

Can you please be more specific on what gets leaked and if possible
fix it from sysfs side?

Thanks.

-- 
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to