iio: adc: ti-ads131m02: reject devices without match data

SPI driver_override allows a device to bind to this driver without
matching either the OF or SPI device ID table. In that case,
spi_get_device_match_data() returns NULL.

ads131m_probe() immediately dereferences the returned configuration to
initialize the IIO device, causing a NULL pointer dereference.

Commit 572a008526 ("iio: dac: ad5686: missing NULL check on match
data") fixed the same driver_override issue in another SPI driver.
Reject devices without match data before using the configuration.

Fixes: 4aa91223fd ("iio: adc: Add TI ADS131M0x ADC driver")
Cc: stable@vger.kernel.org
Signed-off-by: Jiale Yao <yaojiale02@163.com>
Signed-off-by: Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>
This commit is contained in:
Jiale Yao 2026-09-25 20:57:46 +08:00 committed by Jonathan Cameron
parent 156898c0f9
commit 9f0e967130

View File

@ -897,6 +897,8 @@ static int ads131m_probe(struct spi_device *spi)
indio_dev->info = &ads131m_info;
config = spi_get_device_match_data(spi);
if (!config)
return -ENODATA;
priv->config = config;
indio_dev->name = config->name;