diff mbox

hwmon: iio_hwmon: fix memory leak in name attribute

Message ID 1469519229-11749-1-git-send-email-quentin.schulz@free-electrons.com (mailing list archive)
State Accepted
Headers show

Commit Message

Quentin Schulz July 26, 2016, 7:47 a.m. UTC
The "name" variable's memory is now freed when the device is destructed
thanks to devm function.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Reported-by: Guenter Roeck <linux@roeck-us.net>
---
 drivers/hwmon/iio_hwmon.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

Comments

Guenter Roeck July 26, 2016, 3:50 p.m. UTC | #1
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@free-electrons.com>
> Reported-by: Guenter Roeck <linux@roeck-us.net>

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@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-hwmon" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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;