Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

iio: core: Leave private pointer NULL when no private data supplied

In iio_device_alloc() when size of the private data is 0,
the private pointer is calculated to point behind the valid data.
Leave it NULL when no private data supplied.

Fixes: 6d4ebd565d15 ("iio: core: wrap IIO device into an iio_dev_opaque object")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: David Lechner <dlechner@baylibre.com>
Link: https://lore.kernel.org/r/20240304140650.977784-2-andriy.shevchenko@linux.intel.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

authored by

Andy Shevchenko and committed by
Jonathan Cameron
f0245ab3 cb98410d

+4 -2
+4 -2
drivers/iio/industrialio-core.c
··· 1654 1654 return NULL; 1655 1655 1656 1656 indio_dev = &iio_dev_opaque->indio_dev; 1657 - indio_dev->priv = (char *)iio_dev_opaque + 1658 - ALIGN(sizeof(struct iio_dev_opaque), IIO_DMA_MINALIGN); 1657 + 1658 + if (sizeof_priv) 1659 + indio_dev->priv = (char *)iio_dev_opaque + 1660 + ALIGN(sizeof(*iio_dev_opaque), IIO_DMA_MINALIGN); 1659 1661 1660 1662 indio_dev->dev.parent = parent; 1661 1663 indio_dev->dev.type = &iio_device_type;