summaryrefslogtreecommitdiff
path: root/drivers/spi
diff options
context:
space:
mode:
authorguoqi0226 <guoqi0226@163.com>2026-06-16 18:30:18 +0800
committerMark Brown <broonie@kernel.org>2026-06-16 21:25:14 +0100
commitf1b061b4d4c6cbf861319ba954caa80145cf018f (patch)
tree9ef4f3396cd59b08bd4af92fb637255f7ee8423e /drivers/spi
parentf846d68992142034b1d34a83200a10cdc713eeda (diff)
downloadlinux-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.c6
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);