The parameter 'dev' of scmi_iio_dev_probe() isn't been
checked before used, including when scmi_iio_dev_probe() is called.
Therefore, it might be better to check, just in case.
Fixes: 25cbdd4 ("iio/scmi: Port driver to the new scmi_sensor_proto_ops interface")
Signed-off-by: Jiasheng Jiang <[email protected]>
---
drivers/iio/common/scmi_sensors/scmi_iio.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/iio/common/scmi_sensors/scmi_iio.c b/drivers/iio/common/scmi_sensors/scmi_iio.c
index 141e8aa..d3ff985 100644
--- a/drivers/iio/common/scmi_sensors/scmi_iio.c
+++ b/drivers/iio/common/scmi_sensors/scmi_iio.c
@@ -592,6 +592,9 @@ static int scmi_iio_dev_probe(struct scmi_device *sdev)
if (!handle)
return -ENODEV;
+
+ if (!dev)
+ return -ENODEV;
sensor_ops = handle->devm_protocol_get(sdev, SCMI_PROTOCOL_SENSOR, &ph);
if (IS_ERR(sensor_ops)) {
--
2.7.4
On 10/8/21 8:29 AM, Jiasheng Jiang wrote:
> The parameter 'dev' of scmi_iio_dev_probe() isn't been
> checked before used, including when scmi_iio_dev_probe() is called.
> Therefore, it might be better to check, just in case.
>
> Fixes: 25cbdd4 ("iio/scmi: Port driver to the new scmi_sensor_proto_ops interface")
> Signed-off-by: Jiasheng Jiang <[email protected]>
Hi,
Thanks for the patch.
Is there anything that makes you think dev could ever be NULL? dev is a
pointer to a field in `sdev`. So for `dev` to be NULL sdev would have to
be `-offsetof(struct scmi_device, dev)`.
- Lars
> ---
> drivers/iio/common/scmi_sensors/scmi_iio.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/iio/common/scmi_sensors/scmi_iio.c b/drivers/iio/common/scmi_sensors/scmi_iio.c
> index 141e8aa..d3ff985 100644
> --- a/drivers/iio/common/scmi_sensors/scmi_iio.c
> +++ b/drivers/iio/common/scmi_sensors/scmi_iio.c
> @@ -592,6 +592,9 @@ static int scmi_iio_dev_probe(struct scmi_device *sdev)
>
> if (!handle)
> return -ENODEV;
> +
> + if (!dev)
> + return -ENODEV;
>
> sensor_ops = handle->devm_protocol_get(sdev, SCMI_PROTOCOL_SENSOR, &ph);
> if (IS_ERR(sensor_ops)) {