From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932485AbcFCKmR (ORCPT ); Fri, 3 Jun 2016 06:42:17 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:49520 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932367AbcFCKmQ (ORCPT ); Fri, 3 Jun 2016 06:42:16 -0400 Subject: Re: [Nouveau] [PATCH] drm/nouveau/iccsense: fix memory leak on default sensor->type case To: karol herbst References: <1464863332-9610-1-git-send-email-colin.king@canonical.com> Cc: Ben Skeggs , David Airlie , Martin Peres , Karol Herbst , dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org, linux-kernel@vger.kernel.org From: Colin Ian King Message-ID: <57515F04.8000408@canonical.com> Date: Fri, 3 Jun 2016 11:42:12 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 03/06/16 10:55, karol herbst wrote: > Hi Colin, > > thanks for pointing this out, but I am quite sure this continue > statement won't ever be hit, ever. > > check the nvkm_iccsense_create_sensor function. A sensor object will > only be created for one of those three types and others don't exist. > I've just added that default statement to shut GCC I think. > > The thing is I reworked that code already and will check if this > situation still applies there. OK, thanks for letting me know. Apologies if I burnt up some of your valuable cycles on this. Colin > > 2016-06-02 12:28 GMT+02:00 Colin King : >> From: Colin Ian King >> >> The default sensor->type case leaks memory allocated to rail. Fix >> this by free'ing rail before we continue with the next loop iteration. >> >> Signed-off-by: Colin Ian King >> --- >> drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c >> index 323c79a..79b0eb5 100644 >> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c >> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c >> @@ -305,6 +305,7 @@ nvkm_iccsense_oneinit(struct nvkm_subdev *subdev) >> rail->read = nvkm_iccsense_ina3221_read; >> break; >> default: >> + kfree(rail); >> continue; >> } >> >> -- >> 2.8.1 >> >> _______________________________________________ >> Nouveau mailing list >> Nouveau@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/nouveau