From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomi Valkeinen Date: Thu, 08 May 2014 10:55:29 +0000 Subject: Re: [PATCH] fbcon: Fix memory leak in con2fb_release_oldinfo() Message-Id: <536B62A1.1040203@ti.com> MIME-Version: 1 Content-Type: multipart/mixed; boundary="m4QCAEJRktne0EnddwceUaI0BafKTh8Ca" List-Id: References: <1398263722-10436-1-git-send-email-masami256@gmail.com> In-Reply-To: <1398263722-10436-1-git-send-email-masami256@gmail.com> To: Masami Ichikawa , plagnioj@jcrosoft.com, udknight@gmail.com, gregkh@linuxfoundation.org, keithp@keithp.com, mika.kuoppala@linux.intel.com, viresh.kumar@linaro.org, linux-kernel@vger.kernel.org, linux-fbdev@vger.kernel.org --m4QCAEJRktne0EnddwceUaI0BafKTh8Ca Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 23/04/14 17:35, Masami Ichikawa wrote: > kmemleak reported a memory leak as below. >=20 > unreferenced object 0xffff8800dab6d8d8 (size 96): > comm "swapper/0", pid 1, jiffies 4294877598 (age 38.483s) > hex dump (first 32 bytes): > 00 00 00 00 00 01 00 00 08 00 00 00 10 00 00 00 ................ > 07 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ................ > backtrace: > [] kmemleak_alloc+0x4e/0xb0 > [] __kmalloc+0x280/0x320 > [] soft_cursor+0x231/0x290 > [] bit_cursor+0x613/0x650 > [] fbcon_cursor+0x13b/0x1c0 > [] hide_cursor+0x28/0xa0 > [] redraw_screen+0x168/0x240 > [] fbcon_prepare_logo+0x381/0x420 > [] fbcon_init+0x34e/0x590 > [] visual_init+0xb8/0x120 > [] do_bind_con_driver+0x163/0x380 > [] do_take_over_console+0x114/0x1c0 > [] do_fbcon_takeover+0x63/0xd0 > [] fbcon_event_notify+0x68d/0x7e0 > [] notifier_call_chain+0x4c/0x70 > [] __blocking_notifier_call_chain+0x4d/0x70 >=20 > This memory leak cause is, fbcon_ops's cursor_src is allocated in > soft_cursor() but not released in con2fb_release_oldinfo(). > so, cursor_src is needed to be released when oldinfo is going to be > released. >=20 > Signed-off-by: Masami Ichikawa > --- > drivers/video/console/fbcon.c | 1 + > 1 file changed, 1 insertion(+) >=20 > diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbco= n.c > index f447734..57b1d44 100644 > --- a/drivers/video/console/fbcon.c > +++ b/drivers/video/console/fbcon.c > @@ -748,6 +748,7 @@ static int con2fb_release_oldinfo(struct vc_data *v= c, struct fb_info *oldinfo, > fbcon_del_cursor_timer(oldinfo); > kfree(ops->cursor_state.mask); > kfree(ops->cursor_data); > + kfree(ops->cursor_src); > kfree(ops->fontbuffer); > kfree(oldinfo->fbcon_par); > oldinfo->fbcon_par =3D NULL; >=20 Thanks, queued for 3.16. Tomi --m4QCAEJRktne0EnddwceUaI0BafKTh8Ca Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJTa2KhAAoJEPo9qoy8lh71gLEP/091s9IhDhX/PH7goJGCCSKq sbI34hWOBWO2tltxX1jAeuH0p4+9t20HKUbaiaKfiOp1HUCI2Xy0Z9rMZmCv0vKB xSAgrDBfZrkoZhA9xO1MkRu3/MXJA3OH/RWHS0tgpkbGpH1QEvzi2PzF/omYYXh1 wWmllHAQVxiviO8ztCQ1ej6izEETxAYf7ltukcSVapeIKC5trctkWczL2gnCsMLd kw33/TgM3YvPqHyV0IQaERnYRH1OfRg6ormqIlZcObAiFoNXocm6cP40v4vpd/3v nN2R1p+KESM/PIFJEzqHfz0btkKHXK0VOrEASXny3/XJcG6whJeV2B38f3BkpdGj TLS+J7oI6jwvB/2pBKpcvU665jgrXomHrFPUNqV3ohS5cwHHKUHDPO4hxLvdTdnP sWVv6CWvWAj2fEezy0iZjNH1rPKjeFNkqoCzTSBn5K8STpJtLfwbvSS5epWH10iN kho3ZP7Q3DHZCdgCl1Brof1YECGdWhWAdHypoLt9Y9EOw2D9iUreXKvCjkUHGt5K QQ77giqXIm+wngHLG8ijAixjwXUXp7czEtTVaz8C3hnp9FFoismUErfqFEWhad+l 6cfpqeMXQ7yZC8ghZ2nCKOpz4Loa8gEN8tDTVT62nz9srOIk0j7l4ylsdOfJjG8Y dZllATq7DUJ5XP+ZeySi =/b6Z -----END PGP SIGNATURE----- --m4QCAEJRktne0EnddwceUaI0BafKTh8Ca--