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 |
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 >
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 --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; }
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(-)