diff options
| author | guoqi0226 <guoqi0226@163.com> | 2026-06-16 18:30:18 +0800 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-06-16 21:25:14 +0100 |
| commit | f1b061b4d4c6cbf861319ba954caa80145cf018f (patch) | |
| tree | 9ef4f3396cd59b08bd4af92fb637255f7ee8423e /drivers/spi | |
| parent | f846d68992142034b1d34a83200a10cdc713eeda (diff) | |
| download | linux-next-f1b061b4d4c6cbf861319ba954caa80145cf018f.tar.gz linux-next-f1b061b4d4c6cbf861319ba954caa80145cf018f.zip | |
spi: Add NULL check for spi_get_device_id() in spi_get_device_match_data()
Prevent NULL pointer dereference when spi_get_device_id() returns NULL,
which can happen when using driver_override without matching SPI ID entry.
Signed-off-by: guoqi0226 <guoqi0226@163.com>
Link: https://patch.msgid.link/20260616103018.105612-3-guoqi0226@163.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi')
| -rw-r--r-- | drivers/spi/spi.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index fe7e3b3b98fc..ab37b50bbf79 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -355,12 +355,16 @@ EXPORT_SYMBOL_GPL(spi_get_device_id); const void *spi_get_device_match_data(const struct spi_device *sdev) { const void *match; + const struct spi_device_id *id; match = device_get_match_data(&sdev->dev); if (match) return match; - return (const void *)spi_get_device_id(sdev)->driver_data; + id = spi_get_device_id(sdev); + if (!id) + return NULL; + return (const void *)id->driver_data; } EXPORT_SYMBOL_GPL(spi_get_device_match_data); |
