[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7dd12934-862c-c7ad-5f43-43e4c6b08199@ti.com>
Date: Fri, 12 Jan 2018 14:36:04 -0600
From: Grygorii Strashko <grygorii.strashko@...com>
To: Qi Hou <qi.hou@...driver.com>, <tony@...mide.com>,
<linux@...linux.org.uk>
CC: <linux-arm-kernel@...ts.infradead.org>,
<linux-omap@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
Keerthy <j-keerthy@...com>
Subject: Re: [PATCH, v3] arm: omap2: timer: fix a kmemleak caused in
omap_get_timer_dt
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]
[1] https://www.spinics.net/lists/linux-omap/msg141100.html
>
> Signed-off-by: Qi Hou <qi.hou@...driver.com>
> ---
> arch/arm/mach-omap2/timer.c | 19 +++++++++++--------
> 1 file changed, 11 insertions(+), 8 deletions(-)
--
regards,
-grygorii
Powered by blists - more mailing lists