[Nouveau] [PATCH] drm/nouveau/iccsense: fix memory leak
Roy Spliet
nouveau at spliet.org
Mon Jun 13 23:31:08 UTC 2016
Thanks. It seems though that you are not the only one who spotted this
bug. This patch appears to be obsolete since 7505fdf [1].
Roy
[1]
https://github.com/skeggsb/nouveau/commit/7505fdfc2688e86f8e15069b611858f0dbe73a80
Op 06/12/16 om 15:56 schreef Sudip Mukherjee:
> In the for loop we are allocating the memory for rail everytime but
> in some cases we use "continue" and in those cases the memory already
> allocated for rail is leaked and we again allocate new memory for it.
> Lets free the memory before continuing with the loop.
>
> Signed-off-by: Sudip Mukherjee <sudip.mukherjee at codethink.co.uk>
> ---
> drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c | 13 ++++++++++---
> 1 file changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
> index 323c79a..756ff07 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
> @@ -290,21 +290,28 @@ nvkm_iccsense_oneinit(struct nvkm_subdev *subdev)
>
> switch (sensor->type) {
> case NVBIOS_EXTDEV_INA209:
> - if (r->rail != 0)
> + if (r->rail != 0) {
> + kfree(rail);
> continue;
> + }
> rail->read = nvkm_iccsense_ina209_read;
> break;
> case NVBIOS_EXTDEV_INA219:
> - if (r->rail != 0)
> + if (r->rail != 0) {
> + kfree(rail);
> continue;
> + }
> rail->read = nvkm_iccsense_ina219_read;
> break;
> case NVBIOS_EXTDEV_INA3221:
> - if (r->rail >= 3)
> + if (r->rail >= 3) {
> + kfree(rail);
> continue;
> + }
> rail->read = nvkm_iccsense_ina3221_read;
> break;
> default:
> + kfree(rail);
> continue;
> }
>
More information about the Nouveau
mailing list