[PATCH, v3] arm: omap2: timer: fix a kmemleak caused in omap_get_timer_dt

Grygorii Strashko grygorii.strashko at ti.com
Fri Jan 12 13:17:32 PST 2018



On 01/12/2018 03:08 PM, Tony Lindgren wrote:
> * Grygorii Strashko <grygorii.strashko at ti.com> [180112 20:36]:
>> Hi
>>
>> On 01/10/2018 10:54 PM, Qi Hou wrote:
>>> When more than one GP timers are used as kernel system timers and the
>>> corresponding nodes in device-tree are marked with the same "disabled"
>>> property, then the "attr" field of the property will be initialized
>>> more than once as the property being added to sys file system via
>>> __of_add_property_sysfs().
>>>
>>> In __of_add_property_sysfs(), the "name" field of pp->attr.attr is set
>>> directly to the return value of safe_name(), without taking care of
>>> whether it's already a valid pointer to a memory block. If it is, its
>>> old value will always be overwritten by the new one and the memory block
>>> allocated before will a "ghost", then a kmemleak happened.
>>>
>>> That the same "disabled" property being added to different nodes of device
>>> tree would cause that kind of kmemleak overhead, at leat once.
>>>
>>> To fix it, allocate the property dynamically, and delete static one.
>>
>> Does it in sync with Keerthy's work [1]
> 
> First fixes, then new stuff! Keerthy's work will have to
> wait for v4.17, we want that series sitting in Linux next
> for several weeks.
> 
Np. just want to be sure every party is aware about each other's work

-- 
regards,
-grygorii



More information about the linux-arm-kernel mailing list