Re: [PATCH] hwmon: iio_hwmon: fix memory leak in name attribute

From: Guenter Roeck
Date: Tue Jul 26 2016 - 11:51:05 EST


On Tue, Jul 26, 2016 at 09:47:09AM +0200, Quentin Schulz wrote:
> The "name" variable's memory is now freed when the device is destructed
> thanks to devm function.
>
> Signed-off-by: Quentin Schulz <quentin.schulz@xxxxxxxxxxxxxxxxxx>
> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>

Applied.

Thanks,
Guenter

> ---
> drivers/hwmon/iio_hwmon.c | 24 ++++++++++++------------
> 1 file changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/hwmon/iio_hwmon.c b/drivers/hwmon/iio_hwmon.c
> index 0a00bfb..777f2b5 100644
> --- a/drivers/hwmon/iio_hwmon.c
> +++ b/drivers/hwmon/iio_hwmon.c
> @@ -110,24 +110,24 @@ static int iio_hwmon_probe(struct platform_device *pdev)
>
> switch (type) {
> case IIO_VOLTAGE:
> - a->dev_attr.attr.name = kasprintf(GFP_KERNEL,
> - "in%d_input",
> - in_i++);
> + a->dev_attr.attr.name = devm_kasprintf(dev, GFP_KERNEL,
> + "in%d_input",
> + in_i++);
> break;
> case IIO_TEMP:
> - a->dev_attr.attr.name = kasprintf(GFP_KERNEL,
> - "temp%d_input",
> - temp_i++);
> + a->dev_attr.attr.name = devm_kasprintf(dev, GFP_KERNEL,
> + "temp%d_input",
> + temp_i++);
> break;
> case IIO_CURRENT:
> - a->dev_attr.attr.name = kasprintf(GFP_KERNEL,
> - "curr%d_input",
> - curr_i++);
> + a->dev_attr.attr.name = devm_kasprintf(dev, GFP_KERNEL,
> + "curr%d_input",
> + curr_i++);
> break;
> case IIO_HUMIDITYRELATIVE:
> - a->dev_attr.attr.name = kasprintf(GFP_KERNEL,
> - "humidity%d_input",
> - humidity_i++);
> + a->dev_attr.attr.name = devm_kasprintf(dev, GFP_KERNEL,
> + "humidity%d_input",
> + humidity_i++);
> break;
> default:
> ret = -EINVAL;
> --
> 2.5.0
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-hwmon" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html