[PATCH 1/2] media: dvb-frontends: a8293: validate platform data

From: Nikhil Gurudasani

Date: Sun Jul 19 2026 - 21:08:55 EST


a8293_probe() dereferences platform data before checking it. An I2C
device instantiated without the expected platform data therefore causes
a NULL pointer dereference during probe.

Reject devices that do not provide both the platform data and DVB
frontend.

Fixes: b561baec11a4 ("[media] a8293: implement I2C client bindings")
Signed-off-by: Nikhil Gurudasani <nikhilgurudasani314@xxxxxxxxx>
---
drivers/media/dvb-frontends/a8293.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/media/dvb-frontends/a8293.c b/drivers/media/dvb-frontends/a8293.c
index 52e3dc928327..14e7f6bda10c 100644
--- a/drivers/media/dvb-frontends/a8293.c
+++ b/drivers/media/dvb-frontends/a8293.c
@@ -213,11 +213,16 @@ static int a8293_set_voltage(struct dvb_frontend *fe,
static int a8293_probe(struct i2c_client *client)
{
struct a8293_dev *dev;
- struct a8293_platform_data *pdata = client->dev.platform_data;
- struct dvb_frontend *fe = pdata->dvb_frontend;
+ struct a8293_platform_data *pdata = dev_get_platdata(&client->dev);
+ struct dvb_frontend *fe;
int ret;
u8 buf[2];

+ if (!pdata || !pdata->dvb_frontend)
+ return -EINVAL;
+
+ fe = pdata->dvb_frontend;
+
dev = kzalloc_obj(*dev);
if (!dev) {
ret = -ENOMEM;

base-commit: a52e6f7923c17a672135b485ffd96fbd72f46267
--
2.43.0