Re: [PATCH] iio: hid-sensor: Return proper error if kmemdup fails

From: Jonathan Cameron
Date: Fri Nov 02 2012 - 06:05:51 EST


On 10/27/2012 04:03 PM, Axel Lin wrote:
> Return -ENOMEM instead of 0 if kmemdup fails.
>
> Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx>
Added to fixes-togreg branch of iio.git
Thanks
> ---
> drivers/iio/accel/hid-sensor-accel-3d.c | 6 +++---
> drivers/iio/gyro/hid-sensor-gyro-3d.c | 6 +++---
> drivers/iio/light/hid-sensor-als.c | 5 ++---
> drivers/iio/magnetometer/hid-sensor-magn-3d.c | 6 +++---
> 4 files changed, 11 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/iio/accel/hid-sensor-accel-3d.c b/drivers/iio/accel/hid-sensor-accel-3d.c
> index 1b49931..2046208 100644
> --- a/drivers/iio/accel/hid-sensor-accel-3d.c
> +++ b/drivers/iio/accel/hid-sensor-accel-3d.c
> @@ -319,10 +319,10 @@ static int __devinit hid_accel_3d_probe(struct platform_device *pdev)
> goto error_free_dev;
> }
>
> - channels = kmemdup(accel_3d_channels,
> - sizeof(accel_3d_channels),
> - GFP_KERNEL);
> + channels = kmemdup(accel_3d_channels, sizeof(accel_3d_channels),
> + GFP_KERNEL);
> if (!channels) {
> + ret = -ENOMEM;
> dev_err(&pdev->dev, "failed to duplicate channels\n");
> goto error_free_dev;
> }
> diff --git a/drivers/iio/gyro/hid-sensor-gyro-3d.c b/drivers/iio/gyro/hid-sensor-gyro-3d.c
> index 705dc49..c93dd59 100644
> --- a/drivers/iio/gyro/hid-sensor-gyro-3d.c
> +++ b/drivers/iio/gyro/hid-sensor-gyro-3d.c
> @@ -319,10 +319,10 @@ static int __devinit hid_gyro_3d_probe(struct platform_device *pdev)
> goto error_free_dev;
> }
>
> - channels = kmemdup(gyro_3d_channels,
> - sizeof(gyro_3d_channels),
> - GFP_KERNEL);
> + channels = kmemdup(gyro_3d_channels, sizeof(gyro_3d_channels),
> + GFP_KERNEL);
> if (!channels) {
> + ret = -ENOMEM;
> dev_err(&pdev->dev, "failed to duplicate channels\n");
> goto error_free_dev;
> }
> diff --git a/drivers/iio/light/hid-sensor-als.c b/drivers/iio/light/hid-sensor-als.c
> index 4c35ac7..ea59daa 100644
> --- a/drivers/iio/light/hid-sensor-als.c
> +++ b/drivers/iio/light/hid-sensor-als.c
> @@ -285,10 +285,9 @@ static int __devinit hid_als_probe(struct platform_device *pdev)
> goto error_free_dev;
> }
>
> - channels = kmemdup(als_channels,
> - sizeof(als_channels),
> - GFP_KERNEL);
> + channels = kmemdup(als_channels, sizeof(als_channels), GFP_KERNEL);
> if (!channels) {
> + ret = -ENOMEM;
> dev_err(&pdev->dev, "failed to duplicate channels\n");
> goto error_free_dev;
> }
> diff --git a/drivers/iio/magnetometer/hid-sensor-magn-3d.c b/drivers/iio/magnetometer/hid-sensor-magn-3d.c
> index a02dc98..63d0a38 100644
> --- a/drivers/iio/magnetometer/hid-sensor-magn-3d.c
> +++ b/drivers/iio/magnetometer/hid-sensor-magn-3d.c
> @@ -320,10 +320,10 @@ static int __devinit hid_magn_3d_probe(struct platform_device *pdev)
> goto error_free_dev;
> }
>
> - channels = kmemdup(magn_3d_channels,
> - sizeof(magn_3d_channels),
> - GFP_KERNEL);
> + channels = kmemdup(magn_3d_channels, sizeof(magn_3d_channels),
> + GFP_KERNEL);
> if (!channels) {
> + ret = -ENOMEM;
> dev_err(&pdev->dev, "failed to duplicate channels\n");
> goto error_free_dev;
> }
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/