diff mbox series

iio: core: Fix an error pointer vs NULL bug in devm_iio_device_alloc()

Message ID YJ+a1yaMu2QNATgt@mwanda (mailing list archive)
State New, archived
Headers show
Series iio: core: Fix an error pointer vs NULL bug in devm_iio_device_alloc() | expand

Commit Message

Dan Carpenter May 15, 2021, 9:56 a.m. UTC
The devm_iio_device_alloc() function is supposed to return NULL and not
error pointers.  Returning an error pointer will lead to a crash in the
callers.

Fixes: d240dc25e3b8 ("iio: core: simplify some devm functions")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
 drivers/iio/industrialio-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Alexandru Ardelean May 16, 2021, 5:30 a.m. UTC | #1
On Sat, May 15, 2021 at 3:01 PM Dan Carpenter <dan.carpenter@oracle.com> wrote:
>
> The devm_iio_device_alloc() function is supposed to return NULL and not
> error pointers.  Returning an error pointer will lead to a crash in the
> callers.
>

oh
that's a good catch;

Reviewed-by: Alexandru Ardelean <ardeleanalex@gmail.com>

> Fixes: d240dc25e3b8 ("iio: core: simplify some devm functions")
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> ---
>  drivers/iio/industrialio-core.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
> index bfa20a346f71..75e92bac78f3 100644
> --- a/drivers/iio/industrialio-core.c
> +++ b/drivers/iio/industrialio-core.c
> @@ -1711,7 +1711,7 @@ struct iio_dev *devm_iio_device_alloc(struct device *parent, int sizeof_priv)
>         ret = devm_add_action_or_reset(parent, devm_iio_device_release,
>                                        iio_dev);
>         if (ret)
> -               return ERR_PTR(ret);
> +               return NULL;
>
>         return iio_dev;
>  }
> --
> 2.30.2
>
Jonathan Cameron May 16, 2021, 9:09 a.m. UTC | #2
On Sun, 16 May 2021 08:30:20 +0300
Alexandru Ardelean <ardeleanalex@gmail.com> wrote:

> On Sat, May 15, 2021 at 3:01 PM Dan Carpenter <dan.carpenter@oracle.com> wrote:
> >
> > The devm_iio_device_alloc() function is supposed to return NULL and not
> > error pointers.  Returning an error pointer will lead to a crash in the
> > callers.
> >  
> 
> oh
> that's a good catch;
> 
> Reviewed-by: Alexandru Ardelean <ardeleanalex@gmail.com>

Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders
to poke at it.

Thanks,

Jonathan


> 
> > Fixes: d240dc25e3b8 ("iio: core: simplify some devm functions")
> > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> > ---
> >  drivers/iio/industrialio-core.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
> > index bfa20a346f71..75e92bac78f3 100644
> > --- a/drivers/iio/industrialio-core.c
> > +++ b/drivers/iio/industrialio-core.c
> > @@ -1711,7 +1711,7 @@ struct iio_dev *devm_iio_device_alloc(struct device *parent, int sizeof_priv)
> >         ret = devm_add_action_or_reset(parent, devm_iio_device_release,
> >                                        iio_dev);
> >         if (ret)
> > -               return ERR_PTR(ret);
> > +               return NULL;
> >
> >         return iio_dev;
> >  }
> > --
> > 2.30.2
> >
diff mbox series

Patch

diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
index bfa20a346f71..75e92bac78f3 100644
--- a/drivers/iio/industrialio-core.c
+++ b/drivers/iio/industrialio-core.c
@@ -1711,7 +1711,7 @@  struct iio_dev *devm_iio_device_alloc(struct device *parent, int sizeof_priv)
 	ret = devm_add_action_or_reset(parent, devm_iio_device_release,
 				       iio_dev);
 	if (ret)
-		return ERR_PTR(ret);
+		return NULL;
 
 	return iio_dev;
 }