This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: intel/ipu6: add csi2 port sanity check in notifier bound
Author:  Bingbu Cao <bingbu....@intel.com>
Date:    Wed May 29 14:43:21 2024 +0800

Invalid csi2 port will break the isys notifier bound ops as it is
trying to access an invalid csi2 sub-device instance based on the
port. It will trigger a mc warning, and it will cause the sensor
driver to unbound an inexistent isys csi2 and crash. Adding a
csi2 port sanity check, return error to avoid such case.

Fixes: f50c4ca0a820 ("media: intel/ipu6: add the main input system driver")
Signed-off-by: Bingbu Cao <bingbu....@intel.com>
[Sakari Ailus: Fix spelling of "nports" field.]
Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl>

 drivers/media/pci/intel/ipu6/ipu6-isys.c | 6 ++++++
 1 file changed, 6 insertions(+)

---

diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys.c 
b/drivers/media/pci/intel/ipu6/ipu6-isys.c
index 1998b72ac07d..8b9b77719bb1 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys.c
@@ -678,6 +678,12 @@ static int isys_notifier_bound(struct v4l2_async_notifier 
*notifier,
                container_of(asc, struct sensor_async_sd, asc);
        int ret;
 
+       if (s_asd->csi2.port >= isys->pdata->ipdata->csi2.nports) {
+               dev_err(&isys->adev->auxdev.dev, "invalid csi2 port %u\n",
+                       s_asd->csi2.port);
+               return -EINVAL;
+       }
+
        ret = ipu_bridge_instantiate_vcm(sd->dev);
        if (ret) {
                dev_err(&isys->adev->auxdev.dev, "instantiate vcm failed\n");

Reply via email to